Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Is it still relevant to learn C in 2024?
2 points by rspivak 7 months ago | hide | past | favorite | 9 comments



You might not need to ever use C for C programming, but its such an influential language that its worth learning for its cultural impact alone. Eg, any discussion about pointers, compilers, memory management, string handling, or systems programming is going to take place in the intellectual framework grounded by C.

C is to modern languages like Roman civilization is to Western culture today. An essential underpinning of how we think about things, admirable in many ways, but with horrible downsides, and not to be emulated. There are still some Latin speakers, but they are confined to a niche where nothing else but Latin feels right for them. But everyone else has moved on.


Agree, C's legacy is enormous.


I'm curious about the community's thoughts on whether learning C is still valuable in today's world. Here are some of my personal points in favor of learning C:

1. there's a lot of literature on the fundamentals that use C/C++ in examples, and the Linux kernel is still primarily written in C

2. as Dennis Ritchie said, "C is quirky, flawed, and an enormous success." I believe that's the Lindy effect at work

3. learning C can open up a deeper understanding of how things work


C is not the smallest or simplest language, but it's pretty small and simple. What's hard is writing large software in it (compared to other languages). It doesn't take that long to learn it, nor is it very difficult to learn, and there's no reason not to learn it, so you may as well go for it.


Basically, instead of asking 'why?', this flips it to 'why not?'. Good point.


Because like it or not every program ends up as machine code. C is the closest you can get to that without being machine specific. C is like cooking with only basic raw ingredients. Everything else is like out of a packet.


If you are an (embedded) system developer or want to contribute to e.g. the Python VM, then yes; if you are a web or mobile app developer, then probably not.


In short, Yes. Think of it this way.

Once you know C... You appreciate programming in any other language.

A C Programmer


thanks, that's a great way to put it!




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: