Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Actually, it's pretty tough to rationalize why someone should learn C."

Maybe because most people really shouldn't bother to learn it???



You can safely skip learning C if you don't want to know how an operating system works or what a device driver does. Also no C is needed if you just don't care about the internals of the runtime of your favorite programming language (and probably the compiler too). Also you can omit C if you're never going to have any interest at all in 90% of the software you use on your desktop and the servers you communicate with across the internet. Embedded devices are almost exclusively programmed in C, but again, not everybody cares.

So if none of these things matter to you, then yes, it's very easy to rationalize not learning C.


Learning assembly for some machine, and writing a non-trivial program, or writing a compiler (in any language) will get you this knowledge also. I've never learned C to any depth, although I've written some, and I've written device drivers and other kernel-level stuff (mostly various assemblers, years ago), as well as debugged other people's HLL code by looking at the emitted machine code.


I don't think it is necessary to know C to have an idea how an operating system works. C is just a programming language, it is not so special - it is just by accident that many OS are written in C. I am not even sure if the majority of desktop software is written in C anymore. And I indeed have no interest in understanding the "closed source" software on my desktop. Why should I, I can't change it anyway.

In any case it would be sufficient to learn C when the problem arises, but to say one should learn C no matter what seems wrong to me. I haven't used C since university days, and I don't think that makes me a worse programmer than people who know C.

Actually, I would say knowing LISP (or Scheme) would be much more useful for of becoming a good programmer than C. While I learned some Scheme at university, I only read SICP last year, and I feel that it opened my eyes to a lot of things.




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

Search: