Click here to Skip to main content
15,861,168 members
Articles / High Performance Computing

Is C++ Passé?

Rate me:
Please Sign up or sign in to vote.
5.00/5 (13 votes)
1 Apr 2013CPOL3 min read 55.2K   8   8
C++ might not be the easiest language to master, or the most fashionable in the web spheres, but it is still the undisputed king for high performance computing, whether performance means speed, memory, or power.

C++

In the late 50’s, when people programmed close to metal (read: with assembly languages) on a daily basis, there were only two so-called high-level programming languages: Fortran and Lisp. Both are still in use, even though they are considered passé (yet, I consider Lisp and its Zen-like syntax as one of the best languages out there).

Since the late 60s, hundreds of programming languages have emerged. Most notably, the language C, developed between 1969 and 1973, which provides highly expressive constructs as well as assembly language-level primitives. In the 80s, C++ became an object-oriented extension of C, and eventually C++ received a standard definition in 1998. With the maturation of STL (Standard Template Library) in the late 90s, and the coming of more libraries, notably the boost library in early 2000s, C++ is the language of reference for applications that require a tight coupling with the hardware, e.g., operating systems, high performance computing, servers, video games, etc.

In the mid-90s, with the exponential growth of the Internet, came a flurry of languages that were to become the Lingua Franca of the web: Java, PHP, JavaScript, Perl, Ruby, Python, .NET, MySQL, etc. Whether interpreted or compiled, these languages are the tools used daily to build and augment the web.

Java in particular has been hailed as the new universal language because of:

  • Its portability, one of the major features of Java’s core design with the JVM.
  • Its ease of use –a strong C/C++ flavor without the complexity, like the memory management.
  • Its amazingly rich libraries –you can truly develop pretty much anything with a relatively small Java code if you know your libraries.

Since Java and the evolution of the web, it has somehow became fashionable to question C++’ relevance. Should you learn C++ at all? Is C++ dead? (Google returns more than 6 millions hits on that question…)

There are many empirical ways to measure the relevance and popularity of a language –see the TIOBE index, LangPop.com, PYPL, The RedMonk Ranking, Language Popularity Index, etc. They all show C++ alive and well. So where does this discrepancy come from?

For those who know the web as the only computing environment (and they are many), it is understandable to be biased towards the trendies languages –Ruby, Java, C#, etc. Too many people equate “not the best language for web development” with “obsolete”. These same people tend to forget that the large, distributed, real-time, fault-tolerant, infrastructures that fuel the web (servers, databases, data centers, cloud computing), as well as the OS and network logical layers that make it possible, are built on top of very efficient, close to metal, yet high-level languages, like C and C++. Case in point: Facebook, whose systems were mostly written in HTML, PHP and Java, has been moving its core infrastructure to C++ for performance.

So rest assured: C++ might not be the easiest language to master, or the most fashionable in the web spheres, but it is still the undisputed king for high performance computing, whether performance means speed, memory, or power.

This article was originally posted at http://www.ocoudert.com/blog/2013/03/31/is-c-passe

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect OC Consulting
United States United States
I have 20 years experience in software architecture and product development, including 10 years experience in research. I worked at eBay, Synopsys, Mentor Graphics, Magma, and I am an independent consultant in software design and development. I have published 50+ research papers or book chapters, and invented several algorithms for which I hold a few patents.

I am interested in technology as a whole, in particular software, hardware, and web-based applications. Check me out on LinkedIn or twitter (@ocoudert).

Comments and Discussions

 
QuestionVoted 5 Pin
Jean-Louis Leroy13-Aug-13 23:35
Jean-Louis Leroy13-Aug-13 23:35 
QuestionNice to here that what about frameworks? Pin
Unque9-May-13 0:20
Unque9-May-13 0:20 
GeneralGreat work Pin
SajeeshCheviry6-May-13 22:18
SajeeshCheviry6-May-13 22:18 
GeneralMy vote of 5 Pin
Member 99597382-Apr-13 21:03
Member 99597382-Apr-13 21:03 
QuestionIs COBOL passé ? Pin
Rage2-Apr-13 1:18
professionalRage2-Apr-13 1:18 
Honestly, I am not sure about your intention, nor am I about the utility of this article, nor am I about some general assumptions you made, such as "C++ is always faster".

The thing is, C++ is one tool among others, with advantages and drawbacks. It is not because there is a brand new jig saw on the market that I will use it to hammer nails, so I think my old hammer has still some good days to live.

COBOL is a very old language, but used in still a lot of applications in the world. Is it passé ?
~RaGE();

I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
Do not feed the troll ! - Common proverb


AnswerRe: Is COBOL passé ? Pin
Kochise21-Apr-13 2:34
Kochise21-Apr-13 2:34 
GeneralMy vote of 5 Pin
Pranit Kothari1-Apr-13 19:40
Pranit Kothari1-Apr-13 19:40 
GeneralMy vote of 5 Pin
Bartlomiej Filipek1-Apr-13 6:36
Bartlomiej Filipek1-Apr-13 6:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.