What is C?

Suparna Ganguly
3 min readOct 11, 2021

--

C is a mid-level programming language developed by Dennis Ritchie at Bell Lab. C is the successor of the B programming language. So why is it called mid-level? This is because the C programming language represents a combination of both High and Low level programming.

C is a general-purpose, procedural language, and was built for system development work in Unix. The Unix kernel was re-implemented via the C programming language. C can work on the machine instructions having minimal runtime support. That’s why C is known as the system’s language. It also offers manual access to computer memory and language constructs.

C can be used on various platforms. Hence, despite its low-level features, C encourages cross-platform programming. Cross-platform programming means to write software that works on multiple platforms.

C was really a great invention. Its versatility was unmatchable in its early years.

Features of C

C is a simple programming language with a host of features.

  • Procedural Language

In procedural languages step by step instructions are executed. In C, we follow a certain flow of the program for running the instructions. This creates smaller chunks of code for the purpose to reduce complexities.

  • Middle-Level Language

C is a middle-level language because it has the combined capabilities of both assembly language and high-level language.

  • Modular

C code can be stored as libraries to be used in the future. That’s why C is called a modular programming language. When you use the C language, you use the C library to solve most of the common problems. For example, you can make use of a header file stored in the library for using a built-in function.

C provides a rich library to meet the users’ requirements.

  • General Purpose Language

C is used for a variety of purposes. From some of the well-known operating systems and databases to photo editors like GIMP, Darktable — C finds use in many of today’s applications we use. Linux, Windows, iOS, Android are some of the OSs and Oracle, MySQL, PostgreSQL, MS SQL Server are among the databases written using C programming language.

  • Portability

You can port your code from one platform to another platform. This is because C is platform-independent. So codes written in one platform can be ported to another.

  • Statically Typed

C is statically typed. This means the variable types are checked during compilation and not at run time. Whenever you type a program you need to mention the variable types.

  • Speed and Efficiency

Statically typed programs have higher speed than dynamically typed programs. Hence, C possesses a good speed. Also, C works quite efficiently. As C is a mid-level programming language it allows to directly manipulate the computer hardware. But in case of other languages the performance lowers due to additional processes.

  • Case Sensitive

C is a case sensitive programming language. It treats ‘C’ and ‘c’ as separate variables.

  • Dynamic Memory Allocation

Dynamic memory allocation is supported in C. So, even while running a program memory space is allowed. A coder can’t guess the memory required to run his code. Hence dynamic memory allocation feature is proven to be beneficial for a programmer.

--

--

Suparna Ganguly

Freelance Tech Writer @openreplay @linuxhint @linuxjournal @shells.com, @doublemesh.com. Twitter: https://twitter.com/Suparna92300666