What is it?
According to Salary Services Limited, C++ is still the fourth
most demanded IT skill, after SQL, C and Java. It is actually more
sought after than Java in the contract market.
Formal job advertisements, as used in the Computer Weekly/SSL
skills surveys, provide a different picture to the Tiobe
Programming Community Index, which assesses popularity of languages
using measures such as the number of search-engine hits. According
to Tiobe, C++ has just been pushed into fifth place by PHP, with
Perl and Python right behind it, and Ruby at number nine and
climbing rapidly. None of these languages figure in the SSL top
10.
You can become proficient in these languages more quickly. But
there are many good reasons for learning C++, which still offers a
secure long-term career, whereas many of the skills derived from
scripting languages and Web 2.0 technologies will have a limited
lifespan. Learning C++ is also a good education in generic
skills.
Where did it originate?
Bjarne Stroustrup began work on "C with Classes" in 1979 at
AT&T's Bell Labs. He wanted to write efficient systems programs
in the style of a language called Simula67, but found this language
too slow, so instead added the features he wanted to C, which he
also chose for its portability. C was also developed at Bell
Labs.
What's it for?
C++ was developed from the outset to run on the widest possible
range of systems, from embedded processors to supercomputers. It
also supports different programming styles or "paradigms":
object-oriented, generic, procedural. Stroustrup says that "the
most compelling cases for multiparadigm programming are found where
techniques from different paradigms are used in close collaboration
to write code that is more elegant and more maintainable than would
be possible within a single paradigm."
His paper, Why C++
isn't just an Object-Oriented Programming Language, can be found on
his website.
What makes it special?
Unlike Java and C#, C++ is supported by all major suppliers.
How difficult is it to master?
With a background such as C or object-oriented programming, you
could begin to be productive in a few days. But to understand and
become proficient with all the language constructs will take a lot
longer. Stroustrup recommends that beginners "pick a subset, get
working writing code, and gradually learn more of the language, its
libraries and its tools".
Where is it used?
Far from a "legacy" language providing opportunities only for
maintenance work, C++ is used in new developments in high-paying
sectors such as finance, defence and aerospace and mobile
technologies.
What systems does it run on?
C++ is supported by the Java community's Eclipse development
platform and by Microsoft's .net CLI.
What's coming up?
The next C++ standard is likely to be completed by the end of
this year, but may not be published until 2010.
Stroustrup has made a video overview of "C++Ox", which is
available via YouTube.
His paper, The
Design of C++0x is on the website.
Rates of pay
£25,000 to £35,000 for junior developers.
Training
Most training companies offer C++. But some further education
colleges provide a year's worth of evening classes for the price of
a day's commercial training. If you want to be thorough, you might
even consider a part-time postgraduate diploma. Since there is no
universally recognised commercial certification for C++, such
academic qualifications will stand you in good stead -and do not
need to be renewed.