Contents
Programming / Computer Language
We know that the computer does not understand anything by itself. It needs instructions to perform any task. A set of instructions given to a computer is a program. The process of writing a program is programming and the person who writes the program is called a programmer. The language that is used to write programs is a programming language and the language understood by the computer is called computer language. Computer language is divided into two types. They are Low level and High-level language.
1. Low-level Language
Low-level language is machine-dependent language. So, it is directly understood by the computer. It is difficult to write programs using low-level language, as a programmer must know the detailed architecture of the machine. it is further classified into two types. They are:
- Machine level language
- Assembly level language.
a. Machine Level Language (MLL)
It is the first programming language that was used by Lady Ada for the first time to write a program on the computer. This language is written using series of binary codes 0’s and 1’s which represent “OFF” and “ON” state of electricity in computer circuit.
Nowadays too, the modern computer uses machine-level language for processing and storing data on computer but it is not used as a programming language.
Some of the advantages of Machine Level language are as follows:
- Program execution is faster than any other language as it is directly understood by the computer.
- It does not require any translating program like compiler or interpreter as the program itself is in binary form.
Some of the disadvantages of Machine Level language are as follows:
- It is very difficult and boring to make a program in machine language since every instruction must be written in the form of 0 and 1.
- Writing a program in MLL is time-consuming and almost impossible to develop a large program.
- It is a machine-dependent language. So, programs written for one processor cannot be used by another.
b. Assembly Level Language (ALL)
Assembly-level language is also an example of a low-level language. In this language, instead of writing the instructions in the series of 0’s and 1’s, we can use mnemonics (symbolic instructions) like ADD, SUB, IV, MOD, JMP, and so on. Since it is closer to machine language, a programmer should have detailed knowledge of computer internal architecture in order to write a program. This language is faster in comparison to high-level language. This language is not understood by computers directly as the computer understands the only machine-level language. So, the assembler is required to convert assembly-level language to machine-level language.
Some of the advantages of Assembly level language are as follows:
- It is easier to write, debug and understand than MLL due to the use of mnemonics.
- Program execution is faster than High-level language.
- It is efficient in program execution. hence, ALL is still used in developing firmware, device drivers, and operating system kernel.
Some of the disadvantages of Assembly Level Language are as follows:
- It is machine dependent language. The program made for one processor does not work for another processor.
- Program development and debugging are more difficult and time-consuming than in high-level language.
- It is very hard to remember the mnemonics since they are in abbreviated forms and large in numbers.
2. High-Level Language (HLL)
A high-level language is closer to the English language. HLL code is written in an English-like structure by using mathematical notations. Since it is similar to the English language, it is easier to write, debug and understand the program. High-level language instructions are not directly understood by the processor for execution. it needs conversion and the conversion is done by translating software like “compiler” or “interpreter”. The program written by the programmer in HLL is called the source program. The programs that are converted to machine language are object programs. FORTRAN (FORmula TrANslation) introduced in 1956 AD is the first HLL. Nowadays, many HLL are available. Some of them are PASCAL, C, C++, Visual Basic, and so on.
Some of the advantages of High-level language are as follows:
- It is easier to write, debug and understand High-level language instructions due to the simple English language and mathematical notations.
- Program development is faster and requires less effort than other languages.
- As it is a machine-independent language, programs made for one computer can be used by other computer processors too.
- The programmer doesn’t need to remember the larger number of mnemonics and other usual codes.
Some of the disadvantages of HLL are as follows:
- The computer doesn’t understand HLL directly. So, the program needs conversion before execution.
- Program execution time is longer than in low-level language.
- Every high-level language must have its own translator because it can’t be directly be used to generate executable code.
FORTAN
FORTAN stands for formula translation. It was specifically designed for mathematical and engineering purposes. So, it was widely used in research and education.
COBOL
COBOL stands for Common Business Oriented Language. It is mainly used in Business and Commerce.
Basic
BASIC stands for Beginners All-Purpose Symbolic Instruction Code. It was developed by John Kemeny and Thomas Kurtz in 1964 at Dartmouth college, USA. It is mostly used to teach beginners and students.
PASCAL
This language is named after the seventeenth-century French mathematician Blaise Pascale who invented the first mechanical calculator called Pascaline. It is considered to be an excellent teaching language. it is easy for beginners to implement algorithms in the PASCAL language. Many earlier Macintosh applications were written in PASCAL.
C
C is the powerful and popular HLL available today. It was developed in the 1970s at Bell Labs by Dennis Ritchie and Brain Kerningham. It is used in the development of software by professional programmers. it is also used in system programming.
C++
C++ was developed by Bjarne Stroustrup at Bell Labs in the 1980s. C++ is the extended version of the C language. So, it is more powerful and efficient than C.
PL/1
PL/1 stands for Programming Language 1. it was developed by IBM. It has features of FORTAN, COBAL, ALGOL, and SNOBOL. Nowadays, it is almost out of use because of its complexity.
LISP
LISP stands for list processor. It was developed by Mc-Cathy in 1962. it is used in Artificial Intelligence Programming. It is used to make intelligent computers. LISP has statements that can define and teach the computer one particular thing with reference to another.
Language Processors
Language processors are the programs that translate a program written in a high-level language or assembly-level language which can be understood by the computer. Some of the commonly used language processors are:
- Assembler
- Interpreter
- Compiler
1. Assembler
An Assembler is system software that translates a programming language written in assembly language into machine language and vice -versa. It converts the whole program at once. If some errors occur, they have to be corrected, debugged, and assembled again.
2. Interpreter
The interpreter is a program that translates a program written in HLL into MLL line by line. As it translates only one line at one time, it takes more time than the compiler.
3. Compiler
It is also a language processor that translates a program written in HLL into MLL as a whole at once. it reads the whole program at once, if it is bug-free, it converts it into machine code at once.
Compiler | Interpreter |
It translates the entire program once. | It translates one statement at a time. |
It reports all errors at once. | It reports errors line by line. |
It creates object code. | It doesn’t create object code. |
Debugging is complex. | Debugging is easier. |
The translation is preserved. So, execution is fast. | The translation is not preserved. So, execution is slow. |
Very useful
As I website owner I think the content here is real fantastic, appreciate it for your efforts.