Different UNIX scripting languages/ shell programming.
Understanding other Scripting Options
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.
Combining scripting languages
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.
Common scripting languages
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 manipulation.
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 diagram shows some of the programming tools you have learned about so far.