C (programming language)

Edit · View history

Overview

C is a general-purpose, procedural programming language developed by Dennis Ritchie at Bell Labs between 1969 and 1973. It was originally created to rewrite the Unix operating system, replacing the earlier Assembly language implementation. C is widely known for its efficiency, low-level access to memory through pointers, and close correspondence with machine instructions. It has served as the foundation for many subsequent languages, including C++, C#, Java, and Python.

C is a compiled language and is available on virtually every operating system and computer architecture, making it a highly portable tool for system programming. Its influence extends to embedded systems, operating systems, and performance-critical applications such as database engines and compiler construction.

History

C evolved from an earlier language called B, which was itself derived from BCPL. Ritchie and Ken Thompson initially used B for early Unix work, but its lack of data types and limited memory model prompted Ritchie to design C. By 1973, the Unix kernel had been largely rewritten in C, demonstrating the language's suitability for system-level tasks.

In 1978, Brian Kernighan and Dennis Ritchie published 0, which became the de facto standard. This version is often referred to as K&R C. During the 1980s, the need for a formal standard led to the creation of ANSI C (X3.159-1989), later adopted as ISO/IEC 9899:1990. Subsequent revisions include C99, C11, and C17. The latest major revision, C23, was published in 2024.

Features

C provides a small, minimal set of keywords and constructs:

The language's design emphasizes efficiency and simplicity, giving programmers direct control over memory management without a built-in garbage collector. This makes C a common choice for embedded systems, operating system kernels, and real-time computing.

Influence

C has directly or indirectly influenced most modern general-purpose programming languages. Its syntax—particularly the use of curly braces and semicolons—has been adopted by C++, C#, Java, JavaScript, and Go. Many compilers, including the GNU Compiler Collection (GCC) and Clang, are themselves implemented in C or C++.

The language remains widely used in industry and academia, especially in courses that introduce system programming and data structures.