In Praise Of C++ Bjarne At ICPC
Written by Mike James   
Sunday, 04 August 2013

The ICPC is a programming competition held every year for universities worldwide. This year the inventor of C++, Bjarne Stoustrup, was interviewed about the suitability of this language for competition purposes.  

The ACM International Collegiate Programming Contest is a big deal if you are a university student studying computer science. Sponsored by IBM, the idea is that teams solve lots of problems and the team that solves the most wins.

If you look at the history of the competition, it looks as if the US dominates with 18 wins compared to the next best, Russia with 8 wins. However this doesn't take into account the fact that for the first ten years of its life the competition was mainly among teams from the US and Canada. When you notice that the US hasn't won since 1997, then Russia's 8 wins, including 2013, begins to make the competition look a little more open.

The nature of  the competition, approximately 8 problems to be solved using one computer shared between a team of three, puts a lot of pressure on participants to stay calm and use a language that delivers. 

Bjarne, well known for his opinion that C++ is the best language to teach computer science, is clearly also of the opinion that C++ is the best for such pressurized competitions. Listen to what he has to say:



Who could argue with:

"If you use plain C you end up with something slightly too low level."

"Java just gets you far too far away from the machine.... too much indirection, too much convoluted thinking."

It seems the C++ is just right - the Goldilocks language.  

There is a lot of truth in this. As C++ contains C you can work at the lower level where the machine's hardware becomes visible. Given it is an object-oriented language, you can also use the big academic ideas of program organization. 

There are, however, many unmentioned problems with C++. It is flexible enough for you to write code that is completely opaque. Development using it is also slowed by the need to compile it before you can see what it is doing. My own choice for a competition would be Python - but any dynamic language, Ruby or even JavaScript, would do. 

Finally who could argue with the sentiment that code is not boring:

"code is where the rubber hits the road".



More Information


Related Articles

Which Languages Have Most Influence?

The Top Languages of 2012

A Recursive Interview With Bjarne Stoustrup


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.


raspberry pi books



or email your comment to:



Spider Courtship Decoded by Machine Learning

Using machine learning to filter out unwanted sounds and to isolate the signals made by three species of wolf spider has not only contributed to an understanding of arachnid courtship behavior, b [ ... ]

The University of Tübingen's Self-Driving Cars Course

The recorded lectures and the written material of a course on Self-Driving Cars at the University of Tübingen have been made available for free. It's a first class opportunity to learn the in an [ ... ]

More News

Last Updated ( Sunday, 04 August 2013 )