thecodex.expert · The Codex Family of Knowledge
C

What is C

The Linux kernel, most of Windows, and macOS’s core layers are all still built substantially in C — five decades after Dennis Ritchie wrote the first version at Bell Labs.

C17 / C23 Est. 1972 Last verified:
Canonical Definition

C was developed by Dennis Ritchie at Bell Labs between 1972 and 1973, evolving from Ken Thompson's B language (itself derived from BCPL), specifically to give the emerging UNIX operating system a portable, higher-level alternative to writing everything in assembly. By 1973, UNIX itself had been substantially rewritten in C, proving the language could deliver near-assembly performance with genuinely portable, structured code — a combination no earlier language had offered. C gives direct, largely unchecked access to memory through pointers, compiles to native machine code with minimal runtime overhead, and has no garbage collector, automatic bounds checking, or built-in safety net — correctness is the programmer's responsibility, not the language's.

Hello, World — close to the machine

Even this trivial example shows C's character: manual memory-free functions like printf link directly against the C standard library, and there's no runtime, interpreter, or virtual machine involved at all — the compiler produces a native executable directly.

Chello.c
#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}

The mother of modern systems programming

The Linux kernel is written almost entirely in C; large parts of Windows and macOS's core layers are too. C++, Objective-C, and C# were built directly on C's foundations, and languages like Java, Python, Go, and Rust all carry visible traces of C's syntax — curly braces, semicolons, the general shape of control flow — even where their actual semantics diverge sharply.

No safety net, by design

C has no automatic memory management, no bounds checking on array access, and no runtime type safety — a program can read or write past the end of an array, or use memory after freeing it, and the language itself will not stop this. This is a deliberate tradeoff: it's exactly what gives C its predictable performance and direct hardware control, and exactly why memory-safety bugs in C code have historically been a major source of real-world security vulnerabilities.

Sources

1
ISO/IEC 9899:2024 (C23), the current ISO C standard, iso.org/standard/82075.html, and Ritchie, D.M., "The Development of the C Language," 1993.