C++ is a general-purpose, high-level programming
language that allows the programmer to write low-level code. It was
developed by Bjarne Stroustrup as an enhancement to the
C programming language, widely used for writing operating
systems such as Unix.
C++ is a big, complex language, but with the complexity of
modern IT problems it remains a strong choice for new projects.
Thousands of employers are looking for C++ developers and
hundreds of these are junior posts, many of which are found in the
high-paying finance sector.
In the telecoms field, Nokia has just released Carbide.c++ 1.2,
a set of tools for C++ developers writing applications for
smartphones.
Some of the world's most critical systems are written in C++,
and they will not be replaced in a hurry.
Where did it originate?
Stroustrup started work on what became C++ in 1979, at
AT&T's Bell Labs. The first version was called "C with
classes". Stroustrup said of C++, "the specific tasks that caused
me to start designing and implementing C++ had to do with
distributing operating-system facilities across a network.
"The more general aim was to design a language in which I could
write programs that were both efficient and elegant. Many languages
force you to choose between those two alternatives."
The first commercial application was released in 1985.
What's it for?
Stroustrup says that both
Java and C# are rooted in 1980s style object-oriented
programming to an even greater extent than early C++ was, and that
in terms of its use of templates and generic programming, along
with several powerful programming techniques, it is way beyond the
scope of "the much-hyped proprietary languages". This enables the
C++ programmer to use programming and design techniques more
advanced than what is supported in the languages with which C++ is
most often compared.
What makes it special?
The early advantages of C++, such as object oriented
programming, modularity and portability of code, are now common
features of other languages. But no other language has all the
benefits of C++.
C++ is extremely concise, leading (once developers have become
proficient) to greater productivity, and greater performance
efficiency.
How difficult is it to master?
According to Stroustrup, it could take 18 months to become
"comfortable" with C++.
Its presence on so many university curricula reinforces the
impression that it is aimed at those with an academic bias and time
to follow it through.
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 takes a lot
longer.
Where is it used?
Systems programming, telecoms, embedded systems and finance
applications.
What systems does it run on?
C++ is supplier-independent, and is supported, for example, by
both the
Eclipse development platform and - with controversial
proprietary extensions that limit portability - by Microsoft's
C++/CLI.
What's coming up?
The next version of the C++ standard, known for now as C++0x,
should be released before 2010.
The classic textbook is The C++ Programming Language by Bjarne
Stroustrup. Links to many resources can be found on his
homepage.
There are hundreds of free tutorials available elsewhere
online.
Most IT training companies offer C++, but you would pay a lot
less for classes at a further education college.
Rates of pay
Junior C++ developers start at around £22,000-£35,000.
Developers with two years' C++ and banking experience can earn
£40,000 or more.
Computer Weekly/SSL salary survey
Research information on C++ >>
C++ tutorial
>>
More information on C++ >>
More about
web development skills >>