Over the years, C++ has become a very popular programming language. While C remains restricted to systems programming, C++ has been developed to become a universal language with a stronger, more static typification based on C; and it directly supports multiple programming styles.
Also, by contrast to many other programming languages, C++ is not owned by a company – many prominent individual programmers including P.J. Plauger, Bjarne Stroustrup and Pete Becker, as well as organisations such as Apple, British Standards Institute, Microsoft, IBM, Intel, Embarcadero and Google, have been involved in its further development, making it an open standards language.
C++ is used as a programming language for Microsoft Windows applications as well as for Linux based programmes.
C++ has been standardised twice by the International Organisation for Standardisation (ISO) in 1998 and 2003. In fact, C++0x, the current draft language standard, is due to be reviewed by the ISO standards committee, which will most likely yield C++11.
This language is here to stay and developers should harness its potential to quickly build interactive, user interface (UI)-oriented desktop, workstation, client server, touch-screen, kiosk and web applications. They can also modernise the look and feel of their old school C++ Windows programmes.
There are a number of C++ compilers available to developers today such as Microsoft Visual C++, IBM XLC++, Embarcadero C++ Builder, GNU C++, Apple C++, Sun C++ and Intel C++, to name a few.
These compilers vary in their level of support of the draft C++ 0x draft language; and offer developers a rapid application development environment to meet the evolving application demands of the market.
With the aid of a compiler, C++ is easily translated into native machine code, which makes it possible to generate highly efficient code. Today, C++ combines the object-orientated with the procedural, the abstract and the generic programming. It is particularly the generic programming that delivers a high degree of flexibility.
In doing so, developers have the choice and styles available to them, which can be combined at will to deliver rich functionality in applications. In fact, most of the shrink wrap software such as AutoCAD, Adobe Acrobat, Adobe PhotoShop, continue to be written in C++.
There are a number of areas that developers should particularly leverage when using a C++ compiler:
Standard Libraries, Widget Libraries and more
Some C++ compilers offer GUI visual component libraries (VCL). These are used in conjunction with the C++ Standard Library, Technical Report 1 library update and the C++ community sponsored BOOST library. Using libraries means that less direct programming is required. This significantly reduces the development time and is particularly useful when constructing small to medium applications.
Also, VCLs offer rapid prototyping ability, which helps with building rich UIs. This, supplemented with specifically written code and additional functionality with components and libraries from open source, freeware, or commercial sources, can enable developers to go from prototype to production stage very quickly.
Gesture and Touch Support
Today touch-based UIs are all the rage and already the hardware industry is beginning to respond with multi touch-capable devices. This trend will only increase and developers need to be able to respond to these demands.
Using C++ compilers, developers can not only build graphic UI, tablet, touchpad, and kiosk applications, but also easily touch-enable existing applications, by using the gesture support functionality. For instance, using gesture recognition features in compilers for Windows 7, Windows XP and Windows Vista; developers can incorporate support for input from multiple sources including mouse, stylus and touch screen, into their applications.