Washu: You are more likely to find undefined behavior in a C++ program than to not.xFFFF0000: But that is just like saying that you are more likely to find bugs in a C++ program than not.Washu: Both of which are true, xFFFF0000.Washu: In other words, its the same as saying: "You're going to fuck up, guaranteed!"

Developed starting in the early 1980s, and finally standardized in 1998, C++ is the spiritual successor to the C language, bending over backwards to inter-operate with code already written in the language. An industry heavyweight thanks to the same, it's momentum (in the form of game engines and other libraries of code) perpetuates the game development community for AAA desktop and console titles. However, it is not without it's problems — it's paltry standard library is even today regarded with suspicion from coders of the old vanguard, often encouraging newbies to roll their own untested, bug ridden reimplementations. This, coupled with the dangerous nature of the language (with "undefined behavior" and hard to track down bugs around every corner), causes C++ to be a very difficult language to learn and use, compared to others.

It is the personal opinion of the author that C++ should not be a first language, nor learned at all until one is sufficiently grounded enough in the basics of programming to have developed some basic graphical games (using, say Python + PyGame), if learned at all. We have newer, cleaner, easier tools which don't default to create-a-bug mode that you can be far more productive in 95% of the time than in C++. That said, for the remaining 5% where you really need C++ (the cutting edge of next gen performance requirements, or legacy coding), or for the just-plain-masochistic like myself, here's a list of resources relevant to C++.