Monday, October 15, 2018

why student must learn C++

why is it a MUST for students to learn C++ as their first programming language (and learn it really well). Because, by learning C++, students have to:
  • worry about memory management;
  • know the difference between compiler, linker and loader;
  • find out that compilers make some optimizations (compilers code better than you);
  • learn meta-programming;
  • distinguish compile time from run-time;
  • really understand low-level implementation of polymorphism (such as virtual tables and virtual table pointers, or dynamic type identification);
  • pointer arithmetics, which could be a good base for understanding node-based data structures (f.i., linked lists, trees or graphs);
  • find out that compiler generates platform-specific code, and discover that there are many other platforms, instead of Windows on x86;
  • find out that there are ELFs and PEs and other executable file formats, each of which has a bunch of sections you should at least partially be familiar with;
  • find out that the size of data types is something you have to worry about (sometimes);
  • implement some function pointers to understand the under the hoods of callbacks;
  • dive deeper into generic programming;
  • use and understand iterators, implement containers supporting various categories of iterators;
  • … the list goes on and on and on..
These are some “knowledge” that are a MUST for any CS student, at least for any CS student who is willing to become a good programmer. Mastering C++ guarantees required experience to master almost any other programming language. 

No comments:

Post a Comment

Which Python course is best for beginners?

Level Up Your Python Prowess: Newbie Ninjas: Don't fret, little grasshoppers! Courses like "Learn Python 3" on Codecade...