3 ms·
C really is fantastic language to learn. When I learned it, I also came from the scripting language world (Python, PHP). Having that as a base, then learning
by daenz 14y ago
C really is fantastic language to learn. When I learned it, I also came from the scripting language world (Python, PHP). Having that as a base, then learning C, lead to revelations about how those scripting languages are created, and how the data structures I took for granted in a scripting language are actually implemented.
From what I understand in formal CS courses, you learn from the bottom up, but learning from the top down was much more enlightening for me.
- PySlice 14y agoI went in the other direction and it was enlightening too. I learned how useful hash tables can be, and that a word count algorithm need not be a complicated assignment full of segmentation faults. :-) I also learned how data structure libraries can be separated from user code (when learning C in class we usually created ad-hoc data structures heavily coupled with the calling code).
- unlucky 14y agoI too started with scripting languages, and also learn in a similar way. Hearing the value that learning C provided you makes the decision to learn it myself a simple one. To those versed in C, is the tutorial linked in the original article a recommended one?
- silentbicycle 14y agoI would enthusiastically recommend Learn C the Hard Way, even over K&R (which hasn't aged well, for reasons LCtHW explains (http://c.learncodethehardway.org/book/krcritique.html) http://c.learncodethehardway.org/book/krcritique.html)).
- strudelfish 14y agoI personally didn't like Learn C the Hard Way at all. I can see the approach for Learn {language} the Hard Way (mostly examples and exercises) working well for languages like Python or Ruby but I felt that for C it was too vague and each exercise didn't really give me an idea of what I was learning/accomplishing. With the other languages you can get away with focusing on functionality but I think you really need a more indepth understanding in C to avoid headaches involved with the language. While C Programming Language by K&R is a little dated, I still think it gives you a better idea of learning the language or at the very least, how to navigate the code and find your answers better. Disclaimer: I already knew C fairly well and decided to go through LCTHW to see if I could pick up any hidden gems; might differ for someone with little to no experience.
- rdtsc 14y ago> I took for granted in a scripting language are actually implemented. Exactly. Not only that you but I had started to appreciate the scripting language (Python) more because I see much it does for you. I knew that before but actually seeing how one would have to handle reference counting, error handling it is nice to go back to Python.
- pjmlp 14y agoYou can learn that with any language that compiles to native code, nothing special about C.