# C programming language

230 Hacker News commenters recommended C programming language and 151 criticized it, November 2025 to November 2026. It was recommended in 13 of 13 months; owners who said how long report a median of 30 years (14 owners).

**Verdict:** Recommended for its speed, portability, long-term stability, simplicity and direct hardware control, but critics warn that undefined behavior and memory-safety bugs make it risky.

## Why people recommend it

- Portable and stable for decades (7 comments): "if you wrote C for low level, Lisp for high level, and compiled the software to run in an Intel 8080 emulator, that combo would likely still work in 50 years" ([source](https://news.ycombinator.com/item?id=49858769)) "The fact that C was effectively "born old" means you can take a C89 program and compile it as C23 and it should simply work" ([source](https://news.ycombinator.com/item?id=46512658)) "most of the C programs that I have written, including 80% of FFmpeg, can run on computers much older than that." ([source](https://news.ycombinator.com/item?id=46461267))
- High performance (5 comments): "stuff where you need simplicity, fast compilation times, portability, interoperability with legacy systems, or high-performance - C" ([source](https://news.ycombinator.com/item?id=46999228)) "There isn't a language that achieves C's performance, access to hardware and portability while also having superior syntax." ([source](https://news.ycombinator.com/item?id=48258770)) "as someone writing numerical code (clusters, NUMA, SIMD, etc.) I think C is still the ideal tool for this" ([source](https://news.ycombinator.com/item?id=48264202))
- Small, simple language (5 comments): "stuff where you need simplicity, fast compilation times, portability, interoperability with legacy systems, or high-performance - C" ([source](https://news.ycombinator.com/item?id=46999228)) "I still prefer C for new projects to any other language, because I value short compilation time and reduced complexity." ([source](https://news.ycombinator.com/item?id=47985843)) "Stick to C, not Python or Rust, it is much easier to understand because the abstractions are just there to hide code." ([source](https://news.ycombinator.com/item?id=45797579))
- Fast compilation times (4 comments): "stuff where you need simplicity, fast compilation times, portability, interoperability with legacy systems, or high-performance - C" ([source](https://news.ycombinator.com/item?id=46999228)) "I still prefer C for new projects to any other language, because I value short compilation time and reduced complexity." ([source](https://news.ycombinator.com/item?id=47985843)) "Fast compilation times, long-term stability, portability to many architectures, multiple implementations" ([source](https://news.ycombinator.com/item?id=49680736))

## What people warn about

- Memory-safety vulnerabilities (4 comments): "the shear amount of CVE and crashes are much worse in terms of global energy usage than if it were safe" ([source](https://news.ycombinator.com/item?id=48306792)) "Proper strings and arrays for starters, instead of being pointers that the programmer is responsible for doing length housekeeping." ([source](https://news.ycombinator.com/item?id=46022804)) "C has lot of negative points (easy to create buffer overflows, integer overflows, use-after-free, and other vulnerabilities)" ([source](https://news.ycombinator.com/item?id=50289864))
- Undefined behavior pitfalls (4 comments): "That's one of the fundamental issues with C. We're all imperfect idiots some of the time and one instance of undefined behavior breaks any guarantees the language gives you." ([source](https://news.ycombinator.com/item?id=45780326)) "The problem with C is that modern compilers do a lot of transformations between your source code and the final machine code" ([source](https://news.ycombinator.com/item?id=50016206)) "C without UB is basically impossible, but C that does the right thing based on assumptions about the platform is possible" ([source](https://news.ycombinator.com/item?id=50200528))
- Outdated 1970s design (3 comments): "C has destroyed our ability to advance the state of the art in automatic optimization, automatic parallelization, automatic mapping of a high-level language to the machine." ([source](https://news.ycombinator.com/item?id=50018440)) "Instead it remains stuck in a design from the 1970s, and has compromised semantics that result from the severe memory constraints of those days." ([source](https://news.ycombinator.com/item?id=46756512)) "C seems to me a really poor choice because it's barely more expressive than one of the machine code architectures" ([source](https://news.ycombinator.com/item?id=50031484))
- Demands heavy discipline (2 comments): "That can work if you have strong architectural discipline and are willing to pay the upfront cost. Most teams are not." ([source](https://news.ycombinator.com/item?id=46928186)) "Evidence shows you need wisdom, discipline, and an impossibly high bar of encyclopedic knowledge of every feature of C" ([source](https://news.ycombinator.com/item?id=50183449))

## Alternatives hackers recommend

- [Rust](https://hackerapproved.com/p/rust.md): 2039 recommend
- [Go](https://hackerapproved.com/p/go-programming-language.md): 1254 recommend
- [Python](https://hackerapproved.com/p/python.md): 1067 recommend
- [Zig](https://hackerapproved.com/p/zig.md): 743 recommend
- [TypeScript](https://hackerapproved.com/p/typescript.md): 574 recommend

## Cite as

Hacker Approved, "C programming language", https://hackerapproved.com/p/c-programming-language/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
