C++ has a history going further back than the other two languages discussed in this website. It dates all the way back to 1979, when Bjarne Stroustrup was working on his Ph.D. thesis. Stroustrup had previous experience working with the Simula language, particulary the Simula 67 language which was a variant of Simula. Simula 67 is regarded as the firt language to support object-oriented programming. It was far too slow for practical use though. His goal was to add object-oriented programming into the C language, which was then and still is a language well-respected for its portability without sacrificing speed or low-level functionality.
Pros and Cons of C++
- C++ is a very Popular, the third most used language and therefore has a lot of support available.
- Has a large base of freely available code for downloade
- Is very powerful and can be used to create just about any program.
- It is a compiled langauge which often creates faster run times than languages such as Java, Python and C#.
- Many languages are based off of C/C++, such as Java, so knowledge in thes makes understaning other languages easier.
- Has a significant number of open source libraries available.
- Not very safe by itself, its shortcoming cause many security issues and memory leaks. Takes extra effort to prevent them.
- By default there is no built-in memory management, requiring developers to use external libraries.
- Its OOP System is pretty archaic, requiring explicit virtualization of methods among other things.
- Has a more difficult learning curve than some other languages. C++'s most powerful features, such as templates; have a very complex syntax.
- GUI, networking and threads aren't standardized, requiring the use of non-standard, third-party libraries.