3 ms·
Do you find the learning curve for C to be high? I find it quite the opposite. It's a simple language with only a few concepts to learn, once you got those, tha
by pantalaimon 7y ago
Do you find the learning curve for C to be high?
I find it quite the opposite. It's a simple language with only a few concepts to learn, once you got those, that's it.
There might be some preprocessor tricks you'll pick up later, but the base language and library is pretty comprehensive IMHO.
- orsenthil 7y agoC is indeed a very small language. But the expressive power of C for real-world problems brings a huge learning curve in terms of organization, tracking, and understanding.
- darepublic 7y agoComing from python/js I found it to be high. Mostly because of the memory management/ making sure I call free correctly etc. In many cases where I would plow ahead in programming, with C I had to stop and would feel dread. A lifesaver for me was using C/C++ Repl environments where I could quickly prototype or sanity check things I was doing.
- pantalaimon 7y agoThe trick is to just not use `malloc()` and `free()` unless absolutely necessary ;)
- throw_m239339 7y ago> The trick is to just not use `malloc()` and `free()` unless absolutely necessary ;) The problem is that often C programmers have to deal with API and libraries they didn't write themselves to solve their problems, thus are forced to use constructors and destructors even when they don't want to.
- throw_m239339 7y ago> It's a simple language with only a few concepts to learn I mean by that logic, Assembly could be deem even simpler, yet writing OR reading programs in Assembly is absolutely not simple at all. At the end of day, one has to write programs that solve (complicated) problems, and learning how to do that in C is difficult, thus the learning curve deemed higher when it comes to writing professional C. I can guarantee you that writing professional Go or Java and writing correct programs in both takes way less effort than with C, for use cases that would make Go or Java viable.
- quelsolaar 7y agoModern assembly language has a huge set of instructions, that make them hard to learn, but the concept is still easy to learn.
- DougGwyn 7y agoMany antique computers are simulated by SIMH. If you have the corresponding software, you can operate on your desktop a simulated computer's software development system. For example, DEC VAX (VMS or Unix) has a relatively simple and sane assembly language.
- quelsolaar 7y agoI think, learning a tiny bit of assembler, even if in an emulator, is very valuable to teach the basics.