Tuesday, August 14, 2007

The Master Speaks, Bjarne's vision of the future

I'm not sure whether you'd call him a Jedi master, or a Dark Lord. I guess that depends on your opinion of C++. To me, I've always affectionately called him Barney (which I'm sure he'd hate), and, of course, I treasure my copy of "The C++ Programming Language", the "Barney Book".

Bjarne Stroustrup, the inventor of C++, recently gave a rare public talk at the University of Waterloo, Canada's top university for computer science. The topic of the talk is the new version of C++ called currently C++0x (he mentions that if it slides into 2010, they may just call it C++0xa, and yes he has a pretty good sense of humour). But he also talked a lot about the past and present of C++. You can download the talk here but be warned it's huge and you may want to use the bittorent.

I'm a long term fan of C++ since I used it for my grad studies work back in 1989. It was a no brainer to me that it became so popular. Bjarne was able to bring object-oriented constructs and generics to C programmers without compromising on performance. And C++0x has performance square in it sites as it works to clean up some of the complexities of the language and bring new concepts that desperately need standardization like threads.

He also had some great examples why performance is criticial, even in today's world of fast computers with lots of memory. Embedded systems have always had performance as high priority, and in the world of mobile, high performance also means using less power, which makes power consumption a performance issue. Also, if your application uses less memory and is faster, that leaves more resources available to add more functionality and making the system even more useful.

So while the world still seems to be jumping on the Java/C# or Ruby/PHP/Python bandwagons, C++ still and always will have it's place. 3 million C++ programs can't be all that wrong...

3 comments:

  1. I'm not a C++ lover but we use the language for large simulation/ optimization packages for even larger scale problems.

    And here C++ ist a pleasure against all this Fortran stuff others use in High-Performance computing (even when the time goes only to less than 1% of the code). Many even code still in FORTRAN77.

    Java ist unfortunately not relly an option (well, for me it would be:))

    I spend considerably time in wrapping ugly C-interfaces or even worse Fortran interface with C++.

    ReplyDelete
  2. As an alumni of the University of Toronto, I have to take issue with your assertion that Waterloo is better :-P

    Although, their co-op program definitely is better than U of T's PEY program.

    ReplyDelete
  3. i didn't know that Toronto had a university.

    JC
    UW BMath '99

    ReplyDelete