Click here to Skip to main content
Click here to Skip to main content
Technical Blog

Tagged as

Is C++ passé?

, 1 Apr 2013 CPOL
Rate this:
Please Sign up or sign in to vote.
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 60’s, 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 80’s 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 90’s, and the coming of more libraries, notably the boost library in early 2000’s, 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-90’s, 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,, 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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

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).
Follow on   Twitter

Comments and Discussions

QuestionVoted 5 PinmemberJean-Louis Leroy14-Aug-13 0:35 
QuestionNice to here that what about frameworks? PinmemberUnque9-May-13 1:20 
GeneralGreat work PinmemberSajeeshCheviry6-May-13 23:18 
GeneralMy vote of 5 PinmemberMember 99597382-Apr-13 22:03 
QuestionIs COBOL passé ? PinmemberRage2-Apr-13 2:18 
AnswerRe: Is COBOL passé ? PinmemberKochise21-Apr-13 3:34 
May I say : "The right tool for the right job".
The author clearly stated for what is for C++. Whould you use C++ to do Ruby-on-rail jobs ? Or IA where Lisp shines ?
You just need to master 4 languages out there :
1- Lisp as top most highest level language (CLOS)
2- Erlang as intermediary level language with concurrency and network facility
3- C for being close to the bare metal yet providing nice level of abstraction
4- Assembler for your target CPU do drive the hardware level
With just the 4 languages you can rules them all !
Read this article about the coding efficiency of Erlang :
Keep in mind that the Erlang VM is almost as slow and memory bloating than Java is though. Most functionalities are sky rocketing. I don't even speak about Lisp on that trend...
In Code we trust !
In Code we trust
GeneralMy vote of 5 PinmemberPranit Kothari1-Apr-13 20:40 
GeneralMy vote of 5 PinmemberBartlomiej Filipek1-Apr-13 7:36 

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

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

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150224.1 | Last Updated 1 Apr 2013
Article Copyright 2013 by ocoudert
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid