Hacker News new | ask | show | jobs
by nedbat 879 days ago
More like, you probably don't need to know about spark plugs, unless you want to fix your own car.

The point of the post is that abstractions are inevitable and you choose your own level. And: you can be a great programmer without knowing C.

1 comments

> The point of the post is that abstractions are inevitable and you choose your own level. And: you can be a great programmer without knowing C.

Absolutely, but I get the feeling you're taking the common statement "learning C can be a great experience" and bastardazing it into a straw-man "you NEED to learn C" that you then argue against.

I just think it's an obvious statement and it reads like you're being nagged by people to learn, but you don't want to learn C and defend your position. For me nothing has taught me so much about development than a weekend hacking in C and stepping through the code with Valgrind or reading the binary output did. And I recommend all my peers do the same, most don't and that's okay. But I think it's a shame that people in general don't seem to care that much outside of work.

I did enjoy the read though, even if clickbaity.

I was reacting to someone literally saying, "Everyone should learn C because it teaches you how computers really work." In my experience it's no an uncommon recommendation. Yes, people also say, "learning C can be a great experience," and I agree.
It gave me a better understanding of how computers really work. If you already have a CS degree that might not be the case, but he has a point and the experience opened a whole new world for me. Something I assumed was too difficult for me for a long time. Add Valgrind and watch the assembly while stepping line by line, taught me so much.

Why C as opposed to other languages? It's portable and very simple on the surface, there's not much to it but difficult enough to be a teachable opportunity.