Logo Inperspektive


A Perspective on Location Services, Mobile Entrepreneurship & Startup Life

by Cornelius Rabsch. Subscribe to RSS Subscribe to the Feed!


Jul
18

C++0x – Bjarne Stroustrup @ University of Waterloo

Published by cornelius on Wednesday, July 18th, 2007 in Technology.

Today I went to another interesting talk in a series of distinguished speakers here at the University of Waterloo. Bjarne Stroustrup, the inventor of the well-known C++ programming language, spoke about the future of C++, its new language features and how the standardization process is slowly progressing. He made clear that C++ is a systems programming language and has a very strong focus on performance. With billions of C++ code lines already written it is nearly impossible to come up with major changes that would ignore downwards compatibility.

I would love to see a systems programming language with a nice syntax and a high expressiveness where the compiler logic is becoming more powerful and the language syntax clearer and more concise. Why that? Recently, I am getting more and more interested in the Ruby programming language which is a dynamic typed, pure object-oriented, multi-paradigm programming language which was invented with a focus on supporting the programmer’s needs and not the machine’s. Of course, the application scenarios for C++ and Ruby are totally different but is this the only reason why writing C++ or Java is much more painful than writing Ruby? Think about productivity and having fun while programming. So, if you are not planning to write real systems software, e. g. an operating system or hardware drivers, you should consider more and more dynamic languages like Ruby or Python which become more and more popular for application development, scripting tasks and web development. At the end it is always a preference choice, but knowing some more programming languages should be essential to compare and judge.

There was the question by one of the listeners if C++ should become a more or better “teachable” programming language. More and more universities are switching to solely teaching Java. C++ is over 20 years old and there is still no or only a little experience how to teach it right and make it attractive for students. It should be important for everyone in computer science to make programming more attractive. A good way to do it, is to start teaching programming principles with easy to learn and easy to understand programming languages or start by building quickly real applications instead of explaining for hours and days the first “Hello World!”. At the beginning you need motivation as a student to create the necessary enthusiasm to dig deeper into the topic. Diving deep into pointer and memory issues in C/C++ is fine at a later point when you already know where the use case is and how it makes sense in the overall system. The ETH Zurich seems to have some success with there so-called “inverted curriculum” where students build complex applications while learning to program.

By the way, I started programming at the University of Mannheim with Scheme, a Lisp dialect, but now they changed the programming introduction to Java. I don’t know any student who said after one of these courses, he really loved it and wants to do some small application or scripting stuff on its own. It is simply too complicated and not obvious how it can be useful. With the Ruby on Rails web framework you can write your first “manage my courses” web application in the first 2 weeks and Ruby would also allow you to do live programming as an instructor during the course!

  • Digg
  • del.icio.us
  • MisterWong
  • Reddit
  • StumbleUpon
  • Facebook
  • NewsVine

Most commented posts:

2 Responses to “C++0x – Bjarne Stroustrup @ University of Waterloo”

  1. Gaelan D'costa Says:

    Just for clarification, Richard Stallman and Bjarne Stroustrup were not here as part of the Distinguished Lecture series. They were brought in independently by the UW Computer Science Club, run entirely by undergraduate volunteers :)

  2. cornelius Says:

    That’s true and I have been aware of it, although I generalized it to one distinguished lecture series. Thanks a lot to all the volunteers at the CS club for organizing such interesting events.

Leave a Reply

Subscribe to the Entries (RSS) or Comments (RSS) feed! Any questions?  Contact me