[ale] hack on my article, please...
David S. Jackson
dsj at dsj.net
Mon May 24 11:51:56 EDT 1999
--5mCyUwZo2JvN/JJP
Content-Type: text/plain; charset=us-ascii
Hi,
Would you all please have a look at this article and let me know of any
misleading or innacurate statements, please?
TIA!
--
David S. Jackson http://www.dsj.net
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"In youth we learn; in age we understand."
--Marie von Ebner Eschenbach
--5mCyUwZo2JvN/JJP
Content-Type: text/plain
Content-Disposition: attachment; filename="scriptlangs.txt"
The Rise Of Scripting Languages
If you have an interest in programming, you have undoubtedly noticed
the rise of scripting languages in the past few years. But perhaps a little
more explanation is in order as to what the fuss is about.
What's the big deal? Interpreted scripting languages have the
reputation of being slow, compared with compiled languages like C,
Fortran, or COBOL. But in this day and age of fast PCs, compiled
languages don't always exceed the performance of modern scripting
languages. Indeed, many types of applications are ideal for scripting
languages because they can be built in perhaps one tenth the time it would
take to build the same application in something like C++.
If you're a project manager and you can get a job done either in three
weeks or six months, with comparable performance, stability, security, and
increased flexibility, what do you choose? The promise of scripting lanagues
like Perl, Python, Tcl/Tk, and even others like Guile and Scheme, is that
they can deliver the goods much sooner and much cheaper than compiled
languages. And, they're portable, robust, full-featured, and much easier to
learn and use than something like C++.
While the big-league system languages like C++, and even the newer
compiled Java, offer an enormous breadth and depth of data types and
sophisticated structural features, scripting languages let you say in 10 lines
what it might take 100 or more lines to say in C++ or the like. Sometimes
the trade off is worth it, but for many applications, preferring a scripting
language is a no-brainer.
When to Use Each. Some applications are large and complex enough
that you need to bring out the whole toolshed to get the job done. Also, in
these cases, portability may not be an issue, nor might there be a need for
many different people to become familiar with the source tree of the project.
One close friend of mine worked on industrial strength voice mail and phone
switching for fortune 500 companies: the source tree was many millions of
lines long and took all night to compile on very fast workstations. Such a
project would be well suited to something like C++ because its extensive
features could all be utilized. Also, only a compiled language could deliver
the necessary performance on such a large project. And, only a single
development team would be required to know the source tree.
Other arenas are typically compiled language domain, also. Device
drivers, OS kernels, embedded systems: these are usually compiled
1
language projects.
Scripting languages excel in circumstances where many people are likely
to use and maintain or modify the source. The ease of scripting languages is
important here. For example, let's say you wanted to run a commerce-based
website: Scripting languages are often the way to go. They're portable
between nearly all architectures, they're short enough where their being
interpreted languages doesn't diminish performance much, and they're
flexibile because the source is easy enough for nearly anyone to learn what's
going on and modify or maintain it as necessary. You don't need an
expensive compiler and development environment: you can do it all with a
free open source distribution of your language and a text editor.
What Language Should I Learn? Ideally, a programmer should have a
command of several system languages and a handful of scripting languages.
But for those of us whose programming is more fill-in, ad hoc, or
recreational, scripting languages may fill the entire bill.
Perhaps the easiest and most immediately useful scripting language to
learn is Tcl/Tk (pronounced "tickle T K"). Created by John Ousterhout to
fill his personal needs while teaching at Berkeley, Tcl/Tk became a hit soon
after it was released over the Internet. Most appealing is its built-in
windowing toolkit, Tk. Some argue that Tk is what really makes Tcl
popular. Without the features of rapid-GUI building, Tcl might not be so
popular.
I might tend to agree with this, since I'm very fond of Perl. Larry Wall
developed Perl (Practical Extraction and Report Language) while working
as system administrator on various projects. He eventually released it on
the Internet for free (before Open Source became popular) and it became
even bigger than Tcl/Tk. Perl embodies nearly all the features of most
other scripting languages. It's extremely feature rich, especially since so
many people have extended it and added powerful modules. It has
enormous capabilities with text processing, inter-process communication,
networking, system administration, and even object-oriented programming.
Guido Van Rossin's Python is still another more recent scripting
language that has earned great respect and admiration from computer
scientists and professional developers. Some prefer it over Perl because of its
polished and consistent design. Perl can get pretty rustic and freewheeling:
like the Camel that is its mascot, Perl can be great to have in the desert.
But it doesn't always smell very nice. Yet, Perl's rugged side is what some
prefer over Python. In short, Python was designed from the beginning as
2
an object oriented scripting language, so it has many design features
built-in that were added to Perl after the fact. But "Perl vs Python" is one
of those ancient religious wars, like "Emacs vs Vi" and "FreeBSD vs
Linux", that make paintball contests interesting at geek conventions.
The nice thing about Tk, and other widget sets, such as GTK (Gimp
Tool Kit) or the Qt libraries from Troll Tech, is that they're being ported
to scripting languages. Now, you don't have to use Tcl just to get the
benefits of a Tk GUI. You can bind Tk widgets to your Perl and Python
scripts. You can have your favorite features of your beloved scripting
language and your Tk, Qt or GTK widgets too! And you can have them all
for free. Each of these languages is open source.
Where To From Here? Now that you're all excited about scripting, you
can check out www.scriptics.com (home of Tcl/Tk), www.perl.org and
www.perl.com (homes of Perl), and www.python.org (home of Python).
O'Reilly and Associates have some excellent books about Python and Perl.
They're really big on Perl, and they sell more books about that language
than any other. But check the scriptics.com website for many other books
about Tcl/Tk and python.org for Python books.
3
--5mCyUwZo2JvN/JJP--
More information about the Ale
mailing list