Skip to main content

Characteristics of a Good Programming Language

Till now there are many high level languages which are very popular, and there are others, which could not become so popular in-spite of being very powerful. There might be many reasons for the success of a language, but one obvious reason is the characteristics of the language. Several characteristics believed to be important with respect to making a programming language good are briefly discussed below.

Simplicity

A good programming language must be simple and easy to learn and use. For example, BASIC is liked by many programmers only because of its simplicity. Thus, a good programming language should provide a programmer with a clear, simple and unified set of concepts which can be easily grasped. It is also easy to develop and implement a compiler or an interpreter for a programming language that is simple. However, the power needed for the language should not be sacrificed for simplicity. 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 also easier to maintain.

Naturalness

A good language should be natural for the application area it has been designed. That is, it should provide appropriate operators, data structures, control structures, and a natural syntax in order to facilitate the users to code their problem easily and efficiently. FORTRAN and COBOL are good examples of scientific and business languages respectively that posses high degree of naturalness.

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 writability. For example, object-oriented languages support high degree of abstraction. Hence writing programs in object-oriented languages is much easier. Object-oriented languages also support reusability of program segments due to its feature.

Efficiency

The program written in good programming language are efficiently translated into machine code, are efficiently executed, and acquires as little space in the memory as possible. 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.

Structuredness

Structuredness means that the language should have necessary features to allow its users to write their programs based on the concepts of structured programming. This property of a language 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 intended operation concisely. A verbose language can tax the programmer’s sheer writing stamina and thus reduce its usefulness. COBOL is generally not liked by many programmers because it is verbose in nature and compactness.

Locality

A good programming language should be such that while writing a program, a programmer need not jump around visually as the text of the program is prepared. This allows the programmer to concentrate almost solely on the part of the program around the statements currently being worked with. COBOL lacks locality because data definitions are separated from processing statements, perhaps by many pages of code.

Extensibility

A good programming language should allow extension through simple, natural, and elegant mechanisms. Almost all languages provide subprogram definition mechanisms for this purpose, but there are some languages that are rather weak in this aspect.

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 real time applications must be interactive in nature. On the other hand, languages used for data processing jobs like pay-roll, stores accounting, etc., may be designed to be operative in batch mode.


Compiled By: Chaudhary Amit V.

Comments

  1. thanks sir everything is written in simple language so it is very easy to understad..............

    ReplyDelete

Post a Comment

Popular posts from this blog

Angular 4 and Firebase Authentication: Email/Password

In our  previous  article we saw how to create authentication module using Google identity provider. Now we will see how to implement Email and Password authentication using Firebase. We will use Bootstrap form to create intuitive user interface for sign-up and login using Email and Password. Step 1: Create signUp component. ng generate component signUp Step 2: Create custom form in sign-up.component.html file. The result of above code: Step 3: Add two functions for creating the user and login using Email and Password in src/app/providers/AFAuth.ts file. Step 4: Call createUserWithEmailAndPassword function in service from sign-up.component.ts. Step 5: Update routing configuration in app.module.ts  to include signUp component. Step 6: Update Login form to have Bootstrap form. The result of the above code. Step 7: Enable Email/Password component in Firebas...

Angular 4 and Firebase Authentication: Setup

If you have come to this article, it means you are keen to learn new technology and that too Firebase. I love Firebase because it provides all basic but important features of any web application. Take for example, authentication, which is cumbersome and risky if not implemented with utmost care. And when we have the integration of Angular and Firebase, it becomes a lot easier for a developer to build such crucial modules in less time with minimal efforts. In this article we will create a simple Angular application using Firebase. I am going ahead with the understanding that you know the benefits of Firebase and have little knowledge about it. There are plenty of posts out on the web if you are behind. Step 1: Install Angular CLI (if not installed). npm install -g angular-cli Step 2: Create new Angular 4 project. By default now angular CLI will create Angular 4 project so you need not fret. ng new firebase-authentication Step 3: Check whether the ne...