Home > C++ > Admittance Of Imperfection

Admittance Of Imperfection

One of the traits I admire most about Bjarne Stroustrup is that he’s not afraid to look “imperfect” and point out C++’s weaknesses in certain application contexts. In his “Technical Report On C++ Performance“, Mr. Stroustrup helpfully cautions real time programmers to think about the risks of using the unpredictable/undeterministic features of the language:

Of course, C++ antagonists are quick to jump right on his back when Bjarne does admit to C++’s imperfections in specific contexts: “see, I told you C++ sux!“.

Here’s a challenge for programmers who read this inane blog. Can you please direct me to similar “warning” clauses written by other language designers? I’m sure there are many out there. I just haven’t stumbled across one yet.

  1. Adolfo Di Mare
    November 4, 2011 at 9:12 am

    Java has the same problems, but no programmer can “disable” them, as RTTI, Exceptions and Free Store usage are mandatory. The same goes to other languages (PHP, Ruby, etc.etc.etc.). Stroustrup’s advice is not a “C++ only” related.

    • November 4, 2011 at 12:11 pm

      Hi Adolfo,

      It’s not really a problem if you can turn off and/or not use all non-deterministic features of a language. As you point out, when your app “context” requires that you turn them off and you can’t because they are baked into your language of choice, then you’ve got a problem. In that case, the choice becomes: fail down the road and switch languages; or switch languages now and have a chance of success down the road.

  1. No trackbacks yet.

Leave a Reply to Adolfo Di Mare Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: