[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