Thursday, 20 June 2013

Characteristics Of A Good Programming Language?

There are some popular high-level programming languages,while there are others that could not become so popular in-spite of being very powerful.There might be reasons for the success of a language but one obvious reason is its characteristics.Several characteristics believed to be important for making it good:

A good programming language must be simple and easy to learn and use.It should provide a programmer with a clear,simple and unified set of concepts that can be grasped easily.The overall simplicity of a this strongly affects the readability of the programs written in that language and programs that are easier to read and understand are easier to maintain.It is also easy to develop and implement a compiler or an interpreter for a simple language.However,the power needed for the language should not be sacrificed for simplicity.For Example,BASIC is liked by many programmers because of its simplicity.

1-Naturalness:

A good language should be natural for the application area for which it is designed.That is,it should provide appropriate operators,data structures,control structures and a natural syntax to facilitate programmers to code their problems easily and efficiently.FORTRAN and COBOL are good examples of languages possessing high degree of naturalness in scientific and business application areas,respectively.

2-Abstraction:

Abstraction means ability to define and then use complicated structures or operations in ways that allow many of the details to be ignored.The degree of abstraction allowed by a language directly affects its ease of programming.For Example,object-oriented languages support high degree of abstraction.Hence,writing programs in object-oriented languages is much easier.Object-oriented also support re usability of program segments due to this feature.

3-Efficiency:
Programs written in a good language are translated into machine code efficiently,are executed and require relatively less space in memory.That is,a good programming language is supported with a good language translator (a compiler or an interpreter) that gives due consideration to space and time efficiency.

4-Structured Programming Support:

A good language should have necessary features to allow programmers to write their programs based on the concepts of structured programming.This property greatly affects the ease with which a program may be written.,tested and maintained.More over,it forces a programmer to look at a problem in a logical way so that fewer errors are created while writing a program for the problem.

5-Compactness:

In a good language,programmers should be able to express the intended operations concisely without losing readability.Programmers generally do not like a verbose language because they need to write too much.Many programmers dislike COBOL,because it is verbose in nature (Lacks Compactness)

6-Locality:

A good language should be such that while writing a program,a programmer need not jump around the visually as the text of a program is prepared.This allows the programmer to concentrate almost solely on the part of the program around the statement currently being worked with.COBOL and to some extent C and Pascal lack locality because data definitions are separated from processing statements,perhaps by many pages of code,or have to appear before any processing statement in the function/procedure.

7-Extensibility:

A good language should also allow extensions through a simply,natural and elegant mechanism.Almost all languages provide subprogram definition mechanisms for the purpose,but some languages are weak in this aspect.

8-Suitability to its Environment:

Depending upon the type of application for which a programming language has been designed,the language must also be made suitable to its environment.For Example, a language designed for a real-time applications must be interactive in nature.On the other hand,languages used for data-processing jobs like payroll,stores accounting etc may be designed to operative in batch mode.

No comments:

Post a Comment