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.






or email your comment to:



StormForge Optimize Live Adds BiDimensional Kubernetes Autoscaling

StormForge has announced that its Optimize Live solution now enables bi-directional Kubernetes pod autoscaling. Optimize Live uses machine learning to suggest actions that will improve the efficiency  [ ... ]

Android Studio Dolphin - D For Dunce?

I enjoy Android programming but my struggle with Android Studio seems to get worse with every release. Is Dolphin going to be the fun, frolicking, experience its name suggests?

More News

Last Updated ( Sunday, 04 August 2013 )