C++, language of applications and systems
The C language has been augmented with objects to facilitate the representation of entities to be computerized, and code reuse. This has transformed this system language created in 1972, into a language for applications, C++.
C++ was created in 1981 by Bjarne Stroutstrup to add object orientation to C while remaining compatible with it and thus preserving its advantages, including portability between systems.
The first ISO standard for the C++ language date of 1998, it is C++ 98. A new version was created in 2011, C++11.
With this version that brings nothing to readability and modernity, the language is rooted in its role as a system tool that has been diverted for a time, before the appearance of new languages.
Even if it is replaced by C# on Windows and by Java for cross-platform and server-side computing, it remains the best tool for system programming. However, one was able to use JavaScript for this purpose and new languages as Dart could compete with it in the future.
Features
C++ describes classes into header files, and body of methods into
source files. By declaring instances of classes you can reuses set
of variables and methods without to define them again.
Memory management is unchanged since C.
Overloading allows to declare a method with different parameters.
Classes inherits one from other and share their methods. Multi-inheritance remains specific to C++, this has not been reused on derived languages.
Sample code
Merging and displaying lists.
string s = "demo" + "trail";
int l = s.length();
for(int i = 0; i < l; i++)
{
char c = s[i];
printf("%c\n", c);
}
Tools and documents
- Visual
C++ Express.
Visual Studio Express by Microsoft. Free IDE for C++ developement with ou without .NET. - Qt Creator.
Cross-platform IDE based on the Qt framework. A graphical user interface designer is embedded (click on .ui files).
- Eclipse.
IDE and tool integrator with a plugin for C++. (Java) - MingW.
This is the Windows version of GCC, the free compiler from the Free Software Fondation. - CLang.
Fast C, C++ and Objective C compiler, frontend to LLVM that produces portable intermediate code, which could be also converted to JavaScript. - C to C++.
Converts a C project to C++. (Python 2) - Thinking
C++.
A complete tutorial on C++ with sources of examples. - Boost.
Open source libraries for C++.
Objective C is another object oriented version of the C language, simpler than C++.
- GnuStep.
A free IDE for objective-C. For Linux and Windows.
