The ISO/IEC 9899:1999 standard that modernized C — the language that runs the world. From operating systems to embedded firmware, databases to compilers, C is the foundation everything else stands on.
C99 (formally ISO/IEC 9899:1999) is the second major revision of the C programming language standard. Published in December 1999, it brought C into the modern era with inline functions, variable-length arrays, // comments, <stdbool.h>, <stdint.h>, restrict pointers, designated initializers, and much more.
C itself was created by Dennis Ritchie at Bell Labs between 1969 and 1973. It was designed as a systems programming language for Unix and has since become the most influential programming language in history. Every major operating system, every major database, every major compiler, and most embedded systems are written in C.
When people say "C," they usually mean C99 or its successors (C11, C17, C23). C99 is the version that standardized the features most C programmers use daily and is the default or near-default standard for GCC and Clang.
// hello.c — The program that started it all
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}
This program appeared in Kernighan & Ritchie's The C Programming Language (1978) and has been the traditional first program in virtually every programming language tutorial since. Compile with gcc -std=c99 hello.c -o hello.
// comment syntax borrowed from C++. Before C99, only /* */ block comments were standard.int arr[n]; where n is a runtime variable. Stack-allocated arrays with dynamic size.inline keyword for suggesting function inlining without macros.int a[6] = { [4] = 29, [2] = 15 }; and .field = value for structs.int8_t, int16_t, int32_t, int64_t and unsigned variants.bool, true, false — no more #define TRUE 1.restrict qualifier tells the compiler pointers don't alias, enabling aggressive optimization.#define LOG(fmt, ...) fprintf(stderr, fmt, __VA_ARGS__)(int[]){1,2,3} and (struct pt){.x=1, .y=2} as anonymous objects.You are reading this page because of C. The browser is written in C/C++. The OS kernel is written in C. The network stack is written in C. The DNS resolver is written in C. The TLS library is written in C. The web server is written in C. The compiler that compiled all of them is written in C.
C is not a popular language. It is the foundational language. Languages come and go. Frameworks rise and fall. C endures because it occupies a unique position: it is the thinnest useful abstraction over hardware. Close enough to the machine to be fast. Abstract enough to be portable. Simple enough to be understood completely by one person.