OOPS
Programming Languages
There
are almost two dozen major object-oriented programming languages in
use today. But leading commercial languages are fewer in number.
This page covers just a few of the most popular. These are:
C++
C++ is an object-oriented version of C. It
is compatible with C (it is actually a superset), so that existing C code can be
incorporated into C++ programs. C++ programs are fast and efficient, qualities which
helped make C an extremely popular programming language. It sacrifices some flexibility in
order to remain efficient, however. C++ uses compile-time binding, which means
that the programmer must specify the specific class of an object, or at the very least,
the most general class that an object can belong to. This makes for high run-time
efficiency and small code size, but it trades off some of the power to reuse classes.
C++ has become so popular that most new C
compilers are actually C/C++ compilers. However, to take full advantage of object-oriented
programming, one must program (and think!) in C++, not C. This can often be a major
problem for experienced C programmers. Many programmers think they are coding in C++, but
instead are only using a small part of the language's object-oriented power.
Smalltalk
Smalltalk
is a pure
object-oriented language. While C++ makes some practical compromises to ensure fast
execution and small code size, Smalltalk makes none. It uses run-time binding,
which means that nothing
about the type of an object need be known before a Smalltalk
program is run.
Smalltalk programs are considered by most to
be significantly faster to develop than C++ programs. A rich class library that can be
easily reused via inheritance is one reason for this. Another reason is Smalltalk's
dynamic development environment. It is not explicitly compiled, like C++. This makes the
development process more fluid, so that "what if" scenarios can be easily tried
out, and classes definitions easily refined. But being purely object-oriented, programmers
cannot simply put their toes in the o-o waters, as with C++. For this reason, Smalltalk
generally takes longer to master than C++. But most of this time is actually spent
learning object-oriented methodology and techniques, rather than details of a particular
programming language. In fact, Smalltalk is syntactically very simple, much more so than
either C or C++.
Unlike C++, which has become standardised,
The Smalltalk language differs somewhat from one implementation to another. The most
popular commercial "dialects" of Smalltalk are:
VisualWorks
VisualWorks is arguably the most powerful of
Smalltalk's. VisualWorks was developed by ParcPlace, which grew out of the original Xerox
PARC project that invented the Smalltalk language. VisualWorks is platform-independent,
so that an application written under one operating system, say, Microsoft Windows, can
work without any modification on any of a wide range of platform supported by ParcPlace,
from Sun Solaris to Macintosh. VisualWorks also features a GUI (Graphic User
Interface) builder that is well-integrated into the product.
Smalltalk/V and Visual Smalltalk
Digitalk's versions of Smalltalk are
somewhat smaller and simpler, and are specifically tailored to IBM compatible PCs. A
Macintosh version was available, but support has since been abandoned. This does not bode
well for Digitalk cross-platform efforts. Digitalk has a separate GUI builder, called
PARTS Workbench (bundled with Visual Smalltalk), which allows quick construct of an
application.
ParcPlace and Digitalk were merged into a
single company, ParcPlace-Digitalk, Inc. The future of the Digitalk product line is
uncertain, and it may just be spun off back into a separate company.
VisualAge
IBM's version of Smalltalk, VisualAge, is
comparable to Smalltalk/V with PARTS. Both of these Smalltalk's allow programmers to
readily exploit machine-specific features, at the expense of some portability. IBM has
adapted existing industry standards for such things as file management and screen
graphics. When IBM talks, people listen, and IBM has made a substantial commitment to
Smalltalk.
Java
Java is the latest, flashiest
object-oriented language. It has taken the software world by storm due to its close ties
with the Internet and Web browsers. It is designed as a portable language that can run on
any web-enabled computer via that computer's Web browser. As such, it offers great promise
as the standard Internet and Intranet programming language.
Java is a curious mixture of C++ and
Smalltalk. It has the syntax of C++, making it easy (or difficult) to learn, depending on
your experience. But it has improved on C++ in some important areas. For one thing, it has
no pointers, low-level programming constructs that make for error-prone programs.
Like Smalltalk, it has garbage collection, a feature that frees the programmer from
explicitly allocating and de-allocating memory. And it runs on a Smalltalk-style virtual
machine, software built into your web browser which executes the same standard
compiled Java bytecodes no matter what type of computer you have.
Java development tools are being rapidly
deployed, and are available from such major software companies as IBM, Microsoft, and
Symantec.
Back to Top