How Programming Languages WORD
How Programming Languages WORD
Languages Evolve
Tom Jepsen
O
life
nce upon a time, life whil struggle to replace them. These
was simple. Large e new species include a confusing
monolithic comput- hord swirl of languages that are
ers, usually painted es of
blue, ran single-threaded batch new • compiled,
programs under the watchful er • interpreted,
eyes of an operator and a type • Web based,
system programmer. A card s • scripting and modeling
reader served as the input capable,
device, a tape drive provided • object oriented,
storage, • graphically based,
• text-processing based, or
Learning what • founded on artificial
intelligence routines.
forces drive
programming- In addition, all kinds of spe-
cialized languages address the
language challenges of developing specific
evolution applications. To an outside ob-
server, this proliferation might
can help seem strange. Why haven’t
computer scientists and IT pro-
you pick fessionals—people generally sci-
one for entific and rational almost to a
fault—focused on creating a few
your robust and adaptable problem-
project solving languages that could suc-
ceed in any computing en-
. vironment?
ECOLOGICAL NICHES
and a line printer processed out- Quite simply, the rapid spread
put. Programmers wrote busi- of computerization into all
ness applications in Cobol, phases of modern life—and the
scientific applications in Fortran. diversity of application and
In either case, they worked out problem domains this trend has
the program logic on paper created—require a wide range of
first, used a keypunch to problem-solving tools.
produce punched cards, then Programming languages have
ran the resulting deck through evolved to provide such tools and,
the card reader. After a few like evolution in nature, have
debugging sessions, they generated numerous mutations in
received their computed the process, some successful and
results on sheets of fanfold some not. A few forces drive this
paper. If a program required evolutionary process;
documentation, pro- grammers understanding them and which
produced it on a man- ual languages evolved as an answer to
typewriter. these forces may
Today, a few lumbering pro-
gramming languages cling to
independent languages. into handheld personal dig- ital
help you select a language for your development project. assistants, clothing, and jew-
The incredible elry. Computers have become
Send in the clones shrinking computer ubiquitous. Almost all techno-
Much of software program- ming consists of With each succeeding logical artifacts now contain a
reinventing the wheel with a slightly different color gener- ation, computers stored program of some sort.
scheme, turning radius, and spoke orientation. This real- have housed the same Such small computers demand
ization launched programmers on a quest to develop processing power in smaller economical languages that
tech- niques for cloning and recycling code used on packages: First, main- leave a comparably small foot-
previous projects. Structured programming led to code frames shrank to print.
modularization, which in time led to object-oriented minicomput- ers, then
programming and component- based development. The minicomputers dwin- dled to Have code, will travel
quest for reusable software also con- tributed to the desktops. Now ever smaller Manufacturers of mainframes
development of architecture- and platform- computers find their way and even early PCs designed
their products for standalone
y leaders and visionaries who will address the scope and direction of change in software. I’d like them to talk about the evolu- tion of object-oriented comp
ons.
packaged Basic , a simple interpreted cessing. Computer programs user documentation; it made sense to
language, with its original PC. Basic needed develop the documentation on the
gave many new PC owners their fi rst computer that ran the program. Script, a
exposure to programming . It would text processing language developed at
later evolve into Visual Basic, a pow- Canada’ s University of Waterloo in the
erful tool for developing graphically 1970s, provided commands for
based Windows applications. formatting text in written documents
and quickly came into general use on
Branching into text mainframe computers .
Another evolutionary path began Researchers at IBM created a text-
with the use of computers for text pro - processing macrolanguage based on
Script, called the Generalized Markup Language. GML let users create a
doc - ument by simply assembling
the nec - essary building blocks of
headings, paragraphs, and formats.
Some devel- opers noticed that text
processing using GML resembled
object-ori - ented programming: You
could create a generic functional
block, such as a paragraph, that could
be customized for a specific
document by specifying an instance
with a specifi c font, page layout, and
so forth.
This comparison resulted in the for scripting software that could pro - ical applications by stringing together
development of the Standard Gener - vide the “glue” between HTML user user interface “controls” similar to
alized Markup Language . SGML requests and server -based applica - Visual Basic.
includes the concept of a document tions written in conventional pro -
type definition, which specifies a set gramming languages. Ultimate adaptability
of elements and the tags used to defi Scripting languages solved the prob -
ne each document element. DTD, Script doctoring lem of providing interactivity between
the specification for hypertext markup The concept of scripting languages is Web users and server -resident appli -
lan - guage (HTML), would play a actually quite old: IBM developed Job cations. This solution does not work
leading role in a truly revolutionary Control Language in the 1960s as a well, however, if all clients try to access
develop - ment—the growth of the scripting language for main - frame the same application at once . A more
Internet and the World Wide Web. computers . Programmers used JCL to scalable way of providing interactivity
initiate execution of applica - tions would be to offload the server appli -
Weaving a worldwide web written in other languages . In the cation by distributing parts of its func -
Although the Internet had its origins 1990s, Visual Basic, though orig- tionality. One approach to achieving
in the Arpanet work sponsored by the inally intended as a system program - such offloading involves downloading
US Department of Defense’ s Ad- ming language, came into wide- software to requesting clients for local
vanced Research Project execution. With Java’s intro-
Agency in the 1960s, it really duction in 1995, this method
took off when large-scale net - Java’s added features, became a reality.
working became feasible Developed by James Gosling
through academic institutions’ including its downloadability and others at Sun Micro -
widespread use of Unix in the and ability to provide systems, Java and its applet-
early 1980s. However, the based animations soon danced
orig- inal text-based Internet execut able content , have led across Web pages around the
of the 1970s and 1980s formed to its inst ant popularity. world, eating up client PC
an arcane, hackers-only world processor cycles rather than
that few outside computer the CPU time of the servers
science departments could from which users downloaded
enter . This
situation began to change in 1989 gateway interface (CGI) spread use as a scripting language for
when Tim Berners-Lee of CERN , scripts . This requirement in developing Windows applications using
envisioning a shared workspace for col turn created the need components written in C or C++.
- laborative scientifi c work, Perl, developed by Wall in the early
developed the Hypertext Transport 1990s, has quickly become the lan -
Protocol (HTTP) and HTML, guage of choice for providing Web
thereby laying the groundwork for servers with CGI and general admin -
the World Wide Web. However, the istrative functions. Interpreted, weakly
real revolution began in 1993, when typed, and platform independent, Perl’s
Marc Andreessen, a young scripts run equally well on the various
programmer at the National Center flavors of Unix, Windows NT, and
for Supercomputing Appli- cations, MacOS. The language, which can still
created Mosaic , a graphically based be downloaded and used free of charge,
client for Web browsing. Mosaic also became one of the fi rst widely
opened the online community to the available open source lan - guages.
general public and initiated the fast- First released in 1990, John K.
paced growth in Web-based applica - Ousterhout’ s Tool Command Lan -
tions that continues today . guage—another “glue” language—
While early Web pages were limited enjoys a large following. Ousterhout
to static display of information, Web designed Tcl (pronounced “tickle”) as a
applications quickly became more scripting language for integrating
interactive and required complex applications written in other lan -
server-side functions, such as database guages. Open source and essentially
lookups and dynamic updating of typeless, Tcl lets users develop graph -
HTML content by means of common
it. Java’s developers, however, envi- sioned it as
capable of far broader application than serving
as a tool for decorating Web pages. They
designed Java as a general-purpose program -
ming language that would provide reusability, a
small footprint, and architecture independence .
An advanced hybrid, Java combines the
strengths of many predecessors . It retains the
strong typing and object orientation of C++,
but eliminates complexities like pointers .
Java shares Smalltalk’s capacity for
automated memory allocation, Perl’s
platform independence , and Visual Basic’s
ex- cellent GUI-development capabili - ties.
But Java’s added features , in- cluding its
downloadability and ability to provide
executable content, have led to its instant
popularity , creating possibilities for truly
distributed computing. Currently, Java and
the JavaScript scripting language com - pete
with Microsoft’ s ActiveX con- trols to
become the industry standard
P ERS P ECT I V ES
W
ill programming languages
For production information, conference, and
classified advertising, contact: continue to proliferate , or do
Marian Anderson languages like Java repre -
IT Professional sent a trend toward convergence? Will
10662 Los Vaqueros Circle truly user-friendly languages develop
Los Alamitos, California 90720-1314
Phone: (714) 821-8380 that will enable nontechnical people to
Fax: (714) 821-4010 create programs? Will the open source
[email protected] movement make soft - ware
development more democratic and thus
more responsive to the diverse needs
of various users? Will the movement
produce more reliable software? I plan
to explore these and similar issues in
future articles .