DEV Community

Discussion on: I've Trained Programming Interns For 6+ Years, Ask Me Anything!

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Pointers are definitely high on the list, along with references, addresses, memory management, and segmentation faults. At this point, I plan to write a "Memory Management For Mere Mortals" series here on DEV.to soon, and then point (pun intended) interns to it.

Templates are also quite high on the list of things that confuse newcomers, especially those coming from Java and its ill-conceived generics system. Yet, once they're understood, templates are one of the biggest reasons why C++ devs love this language!

Surprisingly, OOP is usually only confusing to interns coming from Java, and that's mainly because many of the bad habits that language allows, and even encourages at times, become more clearly bad as soon as they're implemented in C++ (with all warnings enabled).

And then there's my personal pet peeve I have to break almost every intern of: don't use double where a float will do! (That wastes sooooo much memory.)