Railways Computers Science Programming Concepts Programming Concepts

Programming Concepts

Category : Railways


Programming Concepts


It is the sequence of instructions in which the problems of computer tasks and steps are performed with the help of computer. A person who writes or performs the program is known as programmer. Programmer uses some specific languages to write program which is known as programming languages e.g. C++, Java, etc.


Programming Language

It is a set of keywords, symbols and a system of rules for constructing statements by which humans can communicate instructions to be executed by a computer.

Programming languages are mainly categorised into three parts which are as follows


Low Level Language

These programming languages are more arcane and difficult to understand. It is designed to operate and handle the entire instruction set of a computer system directly which are generally used to write the system software, e.g. Machine language and Assembly language.


Machine Language

It is the only language understood by the computers. Sometimes, it referred to as machine code or object code or binary language. It is a collection of binary digits (0 or 1) or bits that the computer reads and interprets.


Assembly Language

It is a low level programming language which is used as an interface with computer hardwares. It uses structured commands as substitutions for numbers, allowing humans to read the code easier than looking at binary codes.


Medium Level Language

It serves as the bridge between raw hardware and programming layer of a computer system. It is designed to improve the translated code before it is executed by the processor. C language is known as medium level language.


High Level Language (HLL)

It is an advanced computer programming language that is not limited to one computer, designed for a specific job and is easier to understand. The main advantage of high level languages over low level languages is that they are easier to read, write and understand, e.g. BASIC, C, FORTRAN, Java, Pascal, etc.


Some High Level Languages and Their Application Areas





Application Area


FORTRAN (Formula Translation)


a team of programmers at IBM



ALGOL (Algorithmic Language)


A commitee of European and American computer scientists

Scientific purpose


LISP (List Processing)


John McCarthy at the Massachusetts Institute of Technology (MIT)

Artificial intelligence

Compiled and Interpreted

COBOL (Common Business Oriented Language)


Grace Hopper

Business management. string oriented


BASIC (Beginner's All purpose Symbolic Instruction Code)


John G. Kemeny and Thomas E. Kurtz at Dartmouth college in New Hampshire

Programming for educational purpose




Niklaus Wirth





Dennis Ritchie at Bell Labs

System programming




Bjarne Stroustrup at Bell Labs

System object programming




James Gosling at Sun Microsystems

Internet oriented programming

Compiled and Interpreted


Program Documentation

It is a kind of documentation that gives a comprehensive procedural description of a program. It shows as to how

software is written. The program documentation describes what exactly a program does by mentioning about the

requirements of the input data and effect of performing a programming task.


It is the process of locating and fixing or bypassing bugs (errors) in computer program code. To debug any program, first separate the source of problem and then correct it.


Language Translator


It helps in converting programming languages to machine language.


The translated program is called the object code. Depending upon used programming languages, language translator are divided into three categories which are as follows



It converts a program written in assembly language into machine language. Assembly language consists of mnemonic codes, which are difficult to learn and are machine dependent.

Some basic functions of an assembler are as follows

(a) Replaces mnemonic codes by machine codes.

(b) Replaces symbolic addresses by numeric addresses.

(c) Determines machine representation for constants.



It converts a HLL program into machine language by converting it line-by-line. If there is any error in any line, it stops the execution of the program

immediately and reports the user at the same time and program execution cannot resume until the error is rectified by the user. Interpreter is very useful for debugging and suitable for novice programmer. This is a slow process and consumes less memory space.



It converts HLL program into machine language, which can be understood by the processor. For each high level language, the machine requires a separate compiler. A compiler creates a unique object program, i.e. if a source program is compiled, there is no need of that source program because output can be obtained by executing that object program (copy created by the compilation of source code). Compiler converts the entire HLL program in one go and reports all the errors of the program along with the line numbers.



It is an effective method that can be expressed within a finite amount of space and time and in a well-defined formal language for calculating a function.

The desirable features of an algorithm are

(i) Each step of algorithm should be simple.

(ii) It must and in a finite number of steps.

(iii) It should be as efficient as possible.

(iv) It should be unambiguous in the sense that the logic should be crisp and clear.

(v) It should be effective, i.e. it must lead to a unique solution of the problem.



It is a type of diagram that represents an algorithm work flow or process, showing the steps as boxes of various kinds, and their order by connecting them with arrows. Flowcharts are used in analysing, designing, documenting or managing a process or program in various fields. The two most common types of boxes in a flowchart are

(i) A processing step, usually called activity and denoted as a rectangular box.

(ii) A decision, usually denoted as a diamond.



  • Pseudo code is not a programming language, but simply an informal way, of describing a program. It does not follow any syntax strictly.
  • Control structure is a statement or block of statements in a programming language that determined the control flow or sequence of execution of other instructions or statements.
  • Looping is a control structure which is used in a program to execute a particular set of statements repeatedly.



Other Topics

You need to login to perform this action.
You will be redirected in 3 sec spinner