Describe how different UNIX scripting languages relate to shell programming. A person new to programming might ask,
Why are there so many different programming and scripting languages?
The short answer is that different tools have been designed to effectively deal with different needs.
An example of this concept was described earlier in this module, when you learned that new shells were developed by individuals wanting to
enhance or remove certain features of the original Bourne shell.
Many different scripting languages have been developed to meet specific needs as well. Each has strengths and weaknesses. Because each scripting
language can run scripts from a command line (as you will soon learn to do with a shell script), scripts of different languages can be included as
features within your own shell scripts. Of course, to do this, you must learn to write scripts in different languages or locate scripts that
already complete a task you need performed.
The most popular scripting languages are listed here with comments on their background and use. Many other scripting languages exist, but these are
the ones you are most likely to encounter as you work with common UNIX and Internet tasks.
Perl, probably the most widely used scripting language, can be a challenge to learn because of complex syntax,
but provides very powerful tools for many uses. Perl is used for many Web server scripts, as well as string and file
Tcl is used in conjunction with the Tk graphical toolkit to create graphical programs using scripts. Tcl scripts are used for many
administrative tasks and for rapid prototyping programs that will be written later in a compiled language. (Tcl is usually called
tickle, or tickle-tee-kay with the graphical kit: Tcl/Tk.)
Python is an object-oriented scripting language that can also be used to create graphical programs.
Python is popular with developers who use other object-oriented languages such as C++.
The following MouseOver applet shows some of the programming tools you have learned about so far.
Open Source Language-overview
Additional Scripting Tools
In the next lesson you will learn more about when to use the different programming tools described in this module.