6 ms·
The article's main point is that learning C first makes it easier to learn the language a programmer will actually use, be it Javascript or something else. In
by meatbundragon 8y ago
The article's main point is that learning C first makes it easier to learn the language a programmer will actually use, be it Javascript or something else.
In my experience, the best course of action is to learn whatever you need first.
For those considering programming as a hobby/occupation, being told to learn a relatively complex and unpractical language would raise the bar of entry.
- randyrand 8y agoC is a very simple language. much simpler than js you can write a C compiler in just a few thousand lines.
- rurban 8y agoC with its unsafe pointers, unsafe memory management and unsafe types is the worst language to learn for the beginning. It's good to know and learn as 2nd language, but for the beginning you need to learn proper concepts, not broken concepts. Lisp is still the best language to learn, but any proper scripting language will do also. PS: "proper scripting language" of course excludes PHP and JavaScript. Dart is fine.
- kazinator 8y agoC for utter beginners is probably like being tossed into a tsunami for swimming lessons. "Okay, now this is how you float on your back; but watch your head: there a protrusion of iron rebar sticking out of a broken concrete bridge support, and you're heading straight for it! We call that 'uncomfortable behavior'."
- simion314 8y agoC is hard to create complex programs but for learning simple things pointers are much more simple to understand then say Rust or other abstractions, a programmer will have to understand what it happens under the abstractions. I understand the point that C is not the best choice this days to do big projects but for learning it seems a good idea, even to learn what segfaults are and buffer overflows are.
- masklinn 8y agoC is also a terrible learning language, much harder to reach the "get things done" stage than most other languages. You can spend weeks segfaulting in C before you get things actually working, and for a beginner — especially self-teaching/unsupervised — it's extremely easy to rely on compiler-specific behaviour in the face of UBs. When learning, if the only choice were C or assembly I'd actually recommend assembly.
- saas_co_de 8y ago> You can spend weeks segfaulting in C before you get things actually working This seems like an overstatement. The first programming class I ever took was "Introduction to Programming with C" where the textbook was K&R and we were writing and compiling programs from day one. If you can't figure out how to manage memory (one dimensional data structure) in C jumping into a language that immediately allows you to abstractly manipulate complex multi-dimensional data structures will certainly not make your life easier.
- scandox 8y agoDepends on the type of thinker someone is. Everyone thinks best at a particular level. While a certain data structure might be complex, it’s use might be simple. If I show someone a list of lists in C# the semantics of that will be very easy for them to grasp. The same data structure in C might defeat them altogether.
- saas_co_de 8y ago> The same data structure in C might defeat them altogether I agree with this, but my point is that to get started in C all you need to work with is strings/arrays. > While a certain data structure might be complex, it’s use might be simple I would argue that in most cases the use only appears to be simple and in reality the correct use is just as complex as the data structure.
- masklinn 8y ago
- singularity2001 8y agook, sarcasm, got it
- AbdessamadEl 8y agoC is great language specially if you learn programming as a hobby