Comment by hypeatei

3 months ago

I think these threads attract people that write code for performance-critical use cases which explains the "cosmic horror" over pretty benign things. I agree though: most programs aren't going to be brought to their knees over some GC sweeps every so often.

Outside of hobbyist things, performance-critical code is the only responsible use case for a non-memory safe language like C in 2025, so of course it does. (Even that window is rapidly closing, though; languages like Rust and Swift can be better than C for perf-critical things because of the immutability guarantees.)

  • Productivity, portability, stability, mind-share, direct access to OS APIs... there's a lot of reasons to still use C.

  • I keep hearing this, but I fail to see why "the massive, well-maintained set of critical libraries upon which UNIX is based" is not a good reason to use C in 2025.

    I have never seen a language with a better ffi into C than C.

    • > the massive, well-maintained set of critical libraries upon which UNIX is based

      What massive, maintained set is that? Base Unix is tiny, and any serious programming ecosystem has good alternatives for all of it.

  • > Outside of hobbyist things, performance-critical code is the only responsible use case for a non-memory safe language like C in 2025, so of course it does.

    Maybe; I sometimes write non-hobbyist non-performance-critical code in C.

    I'm actually planning a new product for 2026 that might be done in C (the current iteration of that product line is in Go, the previous iteration was in Python).

    I've few qualms about writing the server in C.

    • > I've few qualms about writing the server in C.

      Bad Unicode support. Lack of cross platform system libraries. Needing to deal with CMake / autotools / whatever. Poor error handling. No built in string, list or map types. No generics. Nullability. No sum types. No option, tuples or multi returns. Generally worse IDE support than a lot of languages. No good 3rd party package ecosystem. The modern idiocy of header files. Memory bugs. Debugging memory corruption bugs. …

      I mean, yeah other than all those problems, C is a great little language.

      5 replies →

    • > I've few qualms about writing the server in C.

      Why are you not worried about becoming the next Cloudbleed? Do you believe you have superhuman programming abilities?

      1 reply →

I think these threads attract people like that, but also people that want to be like that. I've seen a lot of people do "rigor theater", where things like reproduce-able builds, garbage collection, or, frankly, memory safety are just thought terminating cliches.