http://www.infoworld.com/cgi-bin/displayStory.pl?/interviews/980211stroustrup.htm
I like the concept of Stroustrup as misunderstood genius:
> Stroustrup: If you look at my earliest papers, they always emphasized
> coexistence and transition. But people just won't listen. People are
> so keen on one language that they forget that the world is much too
> complex for that.
That's a great philosophy, coexistence and transition. It's why the Web
won (and Tim Byars isn't here to argue with me any more). It's why
whatever comes next will win.
-- Adam
> February 11, 1998
>
> The father of C++ on Java and the future of programming
>
> As the creator of the C++ programming language, Bjarne Stroustrup has
> made a profound impact on the computer industry. But with all the hype
> surrounding Java, the value of C++ is starting to get overlooked.
> Following the conclusion of a speech made today at the Software
> Development 98 conference in San Francisco, Stroustrup, who is head of
> advanced programming research for AT&T Labs, outlined his views on the
> roles that multiple programming languages will play in the future in a
> conversation with InfoWorld Executive News Editor Michael Vizard.
>
> InfoWorld: With all the noise surrounding Java these days, what's the
> relationship between Java and C++?
>
> Stroustrup: The first thing I'd like to point out is that as far as I
> can tell, the C++ community is growing at its usual rate and has not
> taken a hit from Java. There may be some people using Java instead of
> Visual Basic for things that don't demand as many skills from
> programmers. C++ is a language for system development for large scale
> systems, which demand more efficiency. This is an issue in larger
> systems because you have layers upon layers that make up the system.
>
> InfoWorld: So is there a conflict in trying to replace C++ developers
> with Java developers?
>
> Stroustrup: I think there is a danger in trying to hire the least
> experienced and cheapest programmers. It's fairly easy to learn the
> buzzwords and the syntax of a language. It is much harder to learn the
> skills of proper engineering and testing. For that, you need people
> with experience and the right amount of education.
>
> InfoWorld: So a lot of shops will wind up using Java in conjunction
> with C++. The core application may be written in C++, but the
> interfaces surrounding the core might be written in Java?
>
> Stroustrup: Yes. The interfaces that link the application to the rest
> of the world might be in Java. My idea is that an application is
> fairly independent and the way you deal with that is by having modules
> that interface to specific databases and platforms. For the modules,
> it doesn't really matter what language you use.
>
> InfoWorld: So the days when we pitted the C++ development teams versus
> the Cobol development teams and the Java development teams are finally
> at an end?
>
> Stroustrup: If you look at my earliest papers, they always emphasized
> coexistence and transition. But people just won't listen. People are
> so keen on one language that they forget that the world is much too
> complex for that.
>
> InfoWorld: Is there an equivalent to a virtual machine in C++ like the
> one we find in Java, and is there ever going to be a universal virtual
> machine for all languages?
>
> Stroustrup: When you use the C++ standard, you are de facto writing to
> a virtual machine. What is different with Java is that Java does this
> at run-time, versus compile time for C++. If you do it at run-time,
> you can shift code around, provided that code is abstract enough. On
> the other hand if you want to take efficient advantage of local
> resources, a language like C++ allows you to do that.
>
> InfoWorld: Did you ever think you'd see the day when any programming
> language would be generating the level of hype associated with Java?
>
> Stroustrup: Java is unique. This is the first time in history that a
> large corporation has thrown its full weight behind a programming
> language as a way of rescuing themselves from being eradicated.
> Because of fear of Microsoft, I think this is an attempt to establish
> an alternative platform.
>
> Java is incidental to that effort. I would be sympathetic to something
> that is an alternative to Windows had it been language-neutral. I like
> to run on machines that support a variety of languages, but the Java
> virtual machine is not language-neutral. If you run other languages on
> top of it, they are at a disadvantage.
>
> InfoWorld: But can you build such a machine?
>
> Stroustrup: You cannot build a general machine that fulfills some of
> the hype around Java. As a matter of fact, I have my doubts that the
> Java Foundation Classes fulfill some of the hype around Java. One
> should not criticize a language for not fulfilling the hype of another
> language, especially when that language does not fulfill it either. I
> believe in making modest promises and delivering on them. You can
> build a fairly universal language and allow an interpreter for it, but
> you can't make it totally safe.
>
> InfoWorld: A lot of the Java community likes to say they just took the
> best parts of C++ and make it understandable to the average
> programmer. Is this true?
>
> Stroustrup: It's not what they did. Look at the aims of C++ and the
> aims of Java. They are not the same. Java does not try and address
> fundamental issues that C++ was designed to address, such as
> efficiency, coexistence, variety of models, and levels of style.
>
> InfoWorld: Is there room for a simpler implementation of C++?
>
> Stroustrup: It's possible to express C++ into a simpler and smaller
> language. I'm convinced about that without any loss of efficiency or
> expediency. The problem is that you have millions of people that have
> ways of doing things and who are used to things. Furthermore, C++ is
> fundamentally a democratic process with standards bodies. You don't
> turn such ships around easily, so I don't think a simplification of
> C++ is in the cards. Someday I hope, somebody will build something
> that is better, but I don't see it on the horizon. And even if it
> comes along, C++ will live a decade or two after that.
>
> InfoWorld: So what's the most important issue on your mind today?
>
> Stroustrup: I'd like to warn people against having an overly
> simplistic view of system building. A thorough understanding of
> application tools and the techniques for building systems is
> important. Experience and a good education is essential. The industry
> is making mistakes trying to replace one good guy with three cheap
> guys.
----
adam@cs.caltech.edu
Have you ever noticed that the people who are always trying to tell you,
"There's a time for work and a time for play," never find the time for play?
[from George "The Rack" at MIT, who uses FoRK as a read-only medium.]