Characteristics of a Good
Programming Language
DR. DEBARPITA SANTRA
ASSISTANT PROFESSOR I
AMITY INSTITUTE OF INFORMATION TECHNOLOGY KOLKATA
AMITY UNIVERSITY KOLKATA
Simplicity
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 programming language 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
programming 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.
Naturalness
A good language should be natural for the application area for which it is designed.
That is, it should provide appropriate operators, data structure, control structures, and a
natural syntax to facilitate programmers to code their problems easily and efficiently.
FORTAN and COBOL are good examples of languages possessing high degree of
naturalness in scientific and business application areas, respectively.
Abstraction
Abstraction means the 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 programming 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.
Efficiency
Programs written in a good programming language are translated into machine code
efficiently, are executed efficiently, and acquire relatively less space in memory.
That is, a good programming language is supposed with a good language translator (a
compiler or an interpreter) that gives due consideration to space and time efficiency.
Structured Programming Support
A good programming 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.
Moreover, 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.
Compactness
In a good programming 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).