DEV Community


Discussion on: An overview of programming languages (opinion)

hoelzro profile image
Rob Hoelz

Thanks for sharing your thoughts! However, I don't know if I entirely agree that C is easy to master - sure, the syntax and basic concepts of the language are simple, but oftentimes "master level" C programming involves cultivating a lot of discipline (especially around memory management), as well as learning a lot of specifics about the environment. In my opinion, a master C programmer needs to know:

  • Undefined behavior in the language
  • Hardware characteristics like caching, branch prediction, etc
  • Lots about their compiler and linker
  • Tooling like valgrind, perf, or the various sanitizers in use today

That being said, maybe my definition of master differs from yours - I'm thinking of the people working at Google coming up with things like the retpoline Spectre mitigation! I definitely agree that C++ requires more time to master than C - because you need to learn all of the C++ stuff on top of what I just listed!