Hacker News new | past | comments | ask | show | jobs | submit login

Is it worth it to learn C in 2020 ? Will it still be a prominent language for systems programming in the future ?



Yes.

- Languages like Rust will gain more mindshare over the next decade, and be used in more and more new projects, but there are billions of lines of existing code in C, and those aren't going away.

- Hardware architects, for better or worse, largely think about software in terms of [a somewhat dated and idealized mental model of] C. So if you want to be able to converse with architects (which anyone doing systems programming should want to do), you need to have some basic fluency with C.


I believe C will continue to be used as lingua franca after no one uses it to write software, and we're decades from even that point.

You need to know enough C to interface with the OS, and enough C to talk about memory layout, memory management, dynamic libraries, ABI, etc.

Most higher language runtimes need C, even with a self hosting compiler. Not being able to work on the C parts is limiting.

You also need to know enough assembly to be able to understand what the compiler did with your own code, even if you never write assembly yourself. Not being able to compare the disassembly to the high level language to understand why it doesn't work (or is order of magnitude slower than expected) is limiting.


C also has renewed interest around IoT programming and mobile devices




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: