Author: Kai Middleton
Date: 19:16:41 02/13/98
February 11, 1998
http://www.infoworld.com/cgi-bin/displayStory.pl?/interviews/980211stroustrup.htm
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.
For an overview of recent InfoWorld Electric interviews, go to
Interviews at a glance.
Go to the Week's Top News Stories
Please direct your comments to InfoWorld Electric Deputy News
Editor Carolyn April
Copyright © 1998 InfoWorld Media Group Inc.
InfoWorld Electric is a member of IDG.net
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.