Scripting languages and system programming languages are designed for different tasks. Scripting language is designed for gluing and connecting several powerful components together while system programming language is designed specifically for building data structures and algorithms from scratch. Several recent trends brought about by technology resulted in faster machines, increased use of graphical user interface and component architecture have greatly affected the applicability of the scripting languages. These trends are expected to continue in the future and more new applications will be written entirely in scripting languages while system programming languages will be used primarily for creating components.
The differences between scripting language and system programming languages
Scripting languages used today include Perl, Python, Rexx, visual Basic and Unix shells. They represent a very different style of programming than system programming languages. Scripting languages assume that there is already a collection of useful components that have been written in other languages and they are intended for plugging together the components.
Scripting languages are also often used to extend the features of components but not for complex algorithms and data structures. So as to simplify the connection of components, scripting languages tend to be typeless which makes it easier to hook together components. There are no restrictions on how things can be used since all components and values are represented in a uniform fashion. A component that has been designed for one purpose can be used for any situation.
In contrast system programming languages are strongly typed by the programmer to declare how each piece of information will be used and the language will prevent the information from being used in any other way. Typing has its advantages because it makes large programs more manageable by clarifying how things will be used so that they can be treated differently. System programming language was introduced mainly as an alternative to assembly languages where virtually every aspect of the machine is reflected in the program making it difficult to write and maintain large programs. System programming language is of a higher level which means that many details are handled automatically so that the programmer does not need to write so many codes in order to get the job done right.