What is Scripting Language?
A scripting language or script language is a type of high level programming language that is interpreted instead of being compiled by the computer processor during runtime. Traditionally programs are permanently compiled into executable files before they are run. But, in programs written in scripting language this is not the case. Here, the programs take one command at a time and interpret it during runtime. So basically it automatically executes tasks which would have required a programmer to do so one at a time.
Some scripting languages can be included within HTML and are mostly used to enhance the functionality of a Webpage. It can be used to create different styles of menus, graphical displays or for dynamic advertisements. All these features are interpreted or processed on the server and the end user gets the results on his/her browser. These languages are referred to as client end scripting languages. We also have server end scripting languages. Here the data is manipulated in the server’s database.
Scripting languages are usually slower because they interpret the commands one at a time. But the advantage is that they are easier to write and can communicate more easily with other programming languages. We can say that due to the emergence of internet as a widely used communication tool scripting language came to play a very important role.
Some of the widely used scripting languages are JavaScript, Python, Perl, PHP, ASP, VBScript, JSP, Tcl etc.
Before we go about deciding how to choose the right scripting language, let us take a brief look at the types of scripting languages available.
- Job Control Language: This type of a scripting language basically identifies a particular job that needs to be run and specifies the requirements of the job to the operating system which will run the command. This type of scripting language is used on IBM mainframe operating systems.
- GUI scripting: These languages interact with menus, buttons and graphic windows and at times are also referred to as macros. Theoretically these languages can control all types of GUI applications. But, in reality these languages require to be supported by the application and operating system thus limiting their use, though there are a few exceptions to this.
- Application specific language: This sort of a language is usually designed/ built for a single application.
- Text Processing Languages: One of the most traditional uses of scripting languages has been to process records that are text based.
- Dynamic Languages: Though some languages were initially developed as scripting languages they can be used as programming languages too. These are known as dynamic languages eg. Perl.
- Embedded languages: These languages are basically embedded within another programming language. This could be for various reasons such as faster feature addition or to give users more control etc.
How to choose the right scripting language?
A number of factors need to be taken into account while choosing a scripting language:
- How comfortable a programmer is with a particular language.
- The type of Operating System resources that are available.
- What type of environment/ sector is the script going to be used for? For instance is it required for the financial sector, media sector, start up companies, businesses, research and development etc.
- How much flexibility is required within the script?
- What type of job requires to be performed by the script? Whether it is repetitive, text processing or dynamic.
- How much speed do you require? Game developers would obviously be looking at this aspect and would want faster speeds. Currently they could go with JavaScript or C#
- Incase your scripting requires certain special features, you will need to do some research and pick the most appropriate scripting language.
Ultimately, I would say this is one of the most critical decisions a software developer requires to make. It is very crucial for the success of a project, so do so with utmost thought and care!
This is a guest post by Nathan Brown of buyatt.com, a site that offers savings and current information on at&t Uverse as well as att.com services.