Machine language is the lowest form of computer language. Programs were only written binary based machine level language in the first generation computers. The computer understands this language only at its lowest level
An instruction prepared in machine language has two parts:
1. Op-code: this is the first part and is the command or operation and it tells the computer what function to perform.
2. Operand: the second part of the instruction is the operand and it tells the computer where to find or store the data or instructions that are to be manipulated the number of operands in an instruction varies from computer to computer.
The set of instructions in a machine level language can be divided into four categories:
1. Arithmetic-add, subtract, multiply and divide.
2. Controlled-load, store, jump instructions.
3. Input output-read and write.
4. Direct use-halt, start and end.
No arithmetic or comparison operations are done in the primary memory of the computer, instead it is done in the ALU's special register called accumulator. Thus if we need to add two numbers, we requires one instruction which will order the control unit to place a number in the accumulator and another instruction to identify the operation of addition.
This language permits the use of symbols or mnemonics which are two or three letters abbreviations for the function to be performed by the instruction. These are then translated by using symbolic equivalence table. Assembly language has many of the same features to control registers etc. However, the disadvantage of using binary has been removed. As is evident machine language is used by the computer, therefore, the assembly language software translate the specified operation code into machine language equivalent before the program can be executed.
Procedure oriented programming languages for all practical purposes remove the necessity for the programmer to understand how the computer system will go about executing the program. The programmer may, instead, concentrate on expressing the procedure or logic of solving the problem. In many cases, it is not even necessary that one know what kind of computer system will be used for the execution of the program. The translation from a procedure oriented language to machine language is done by a program referred to as a compiler. This name was chosen because a procedure oriented system usually compiles many machine language instructions from one source language statement.
Hundreds of procedure oriented languages are currently in existence, the most popular and commonly used of these being FORTRAN (FORmula TRANslator), COBOL (COmmon Business Oriented Language). PASCAL (named after the mathematician Blaise Pascal) and C. the languages of FORTRAN, COBOL C and PASCAL have become so common and so extensively used that a variation of, if not the complete version of, each of these languages is available for virtually every micro to mainframe computer manufactured.
High Level Language:
High level languages are also called human oriented languages, because statements are closely resembled to human language statements. They are easily understandable by the human beings, as these languages use English language words. High level languages statements resemble the phrases or mathematical expression required to express the problem or procedure being programmed. This syntax (vocabulary, punctuation, and grammatical rules), and the semantics (meaning) of such statement do not reflect the internal code of any particular computer.
Most high level languages are machine independent, so programs return in high level languages can be run on different machines. Programs written high level languages are translated into machine language before execution.
Object Oriented Language:
Object orientation is a technique based on the concept in which data and action are bundled as object. Most of the programming languages separate data element from the procedures and actions that will be performed on them. OOP languages tie them together in to objects, thus an object consists of data and the action that can be performed on the data. Once, objects are programmed, they are reusable. Object oriented languages have become major consideration in the software development. Actor, small talk, objective c and C++ are easier to use and more efficient for programming. Object oriented programming (OOP) languages are use in since 1960s.
For example, an object could be data about an employee and all the operations that might be performed upon the data. Or, a window does not need to be drawn up on the screen by a series of instructions, instead a window object could be sent a message to open and it will appear on the screen. That is because the window object contains the program code for opening itself.
Fourth Generation Languages:
These are very powerful languages where each 4GL statement translates into many high-level language statements. These are non-procedural languages that programmer specify what needs to be done instead of how to do it. Mostly 4GL are database oriented languages. Examples are FoxPro, Oracle, and Informix etc.