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, 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.

License

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

Share

About the Author

ocoudert
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

 
QuestionIs COBOL passé ? PinmemberRage2-Apr-13 2:18 
AnswerRe: Is COBOL passé ? PinmemberKochise21-Apr-13 3:34 

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.1411023.1 | Last Updated 1 Apr 2013
Article Copyright 2013 by ocoudert
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid