Computer Language

Definition of languageA language is defined as the medium of expression of thoughts. All the human beings in this world communicate with each other by a language. Similarly, computer also needs some expression medium to communicate with others

A computer follows the instructions given by the programmer to perform a specific job. To perform a particular task, programmer prepares a sequence of instructions, know as programmed. A program written for a computer is known as Software. The programmed is stored in RAM .The CPU takes one instruction of the programmed at a time from RAM and executes it. The instructions are executed one by one in sequence and finally produce the desired result.

The Journey of computer software machine language to high level languages to modern 4GL / 5GL languages is an interesting one. Let us talk about the same in detail.

1)FIRST GENERATION LANGUAGES 1GLs (Machine language)
When the human being stared programming the computer the instruction were given to it in a language that it could easily understand. And that language was machine language.
The binary language a language, a language of Is and Os is known as Machine language. Any instruction in this language is given in the form of string of 1s and 0s. Where the symbol I stand for the presence of electrical pulse and 0 stands for the absence of electric pulse. A set of 1s and 0s as 11101101 has a specific meaning to a computer even through it appears as binary number to us.

The writing of programmer in machine language is very cumbersome and complicated and this was accomplished by expert only. All the instruction and imp data are to fed to the computer in numeric form that is binary form.

2)SECOND GENERATION LANGAUAGES 2GLs (Assembly Language)
Lots of efforts are made during last 50 years to obviate the difficulties faced for using the machine language. The first language similar to English was developed in 1950 which was known as Assembly Language or Symbolic Programming Languages. After 1960, the High Level Languages were developed which bought the common man very to the computer. And this was the main reason for tremendous growth in computer industry. The high level languages are also known as Procedure Oriented Languages.

3)THIRD GENERATION LANGUAGES (3GLs ) (High Level Languages)
The assembly language was easier to use compared with machine la language as it relieved the programmer from a burden of remembering the operation – codes and addresses of memory location. Even though the assembly languages proved to be great help to the programmer, a search was continued for still better languages nearer to the conventional English language. The languages developed which were nearer to the English language, for the use of writing the programmer in 1960 were known as High Level languages.
The different high level languages which can be used by the common user are FORTRAN, COBOL, BASIC, PASCAL, PL-1 and many others. Each high level language was developed to fulfill some basic requirements for particular type of problems. But further developments are made in each language to widen its utility for different purposes.

4)FOURTH GENERATION LANGUAGES (4GLs)
The 3GLs are procedural in nature i.e., HOW of the problem get coded i.e., the procedures require the knowledge of how the problem will be solved. Contrary to them, 4GLs are non procedural. That is only WHAT of the problem is coded i.e., only ‘What is required’ is to be specified and rest gets done on its own.
Thus a big program of a 3GLs may get replaced by a single statement of a 4GLs. The main aim of 4GLs is to be cut down on developed and maintenance time and making it easier for users.

GUI BASED LANGAUAGES
With the invention and popularity of GUI based interfaces. GUI based languages are as follows:

Assembly language is usually called a low-level programming language . we usually think of machine language that is binary instructions, as the lowest –level programming language assembly language is a bit higher than machine language but it is still `low`in the sense that the programmer must spend time thinking of the instructions which the particular computer can excute ,rather than spending all her time in solving her problem. Also, each computer has its own assembly language , so learning the assembly language of one computer may teach you something about assembly language programming . but your programs will not run another make of computer and even thought some modern assemblers allow us to use instructions considered `high-level` there is still essentially a one to one correspondence between on assembly language program and its eqivalent machine instruction. As programming demand grew, people realized that the drawbacks of assembly language programming were limiting the productivity of programmers. The main issues were that –
The programmer was forced to think in terms of the macine rather than in terms of her problem.
A program written on one computer could not be rum on another model. This meant that, if an organization wanted to change its computer, al the programs would have to be written . thus the use of a program was limited to one particular computer .
This led to the development of problem oriented languages, usually called high-level language.
The earliest [and still among the most widely used high level language] were Fortran and Cobol ,since then many language have come and gone, but among the more popular now a days are Pascal, PL/I , Basic, RPGZ , LISP , APL, C Ada and Prolog . the more popular high-level languages and their applications are discussed in other.

LANGUAGE

(1) Low level language (2) High level language

(1) Low level language
(a) Machine language
(b) Assembly language

(2) High level language
(a) Basic
(b) Cobol
(c) Fortran
(d) Pascal

Assembly language :-
The idea of problem oriented language is to allow the progammer to thik about a problem in terms familiar to her and relrvent to the problem . so for instance, if she needs to know the large of two quantities a and b , say then she must be able to write.
If A>B then let Bigger=A
It is unrealistic to think that any large program can be written without any mistakes[called bugs] thus an essential part of any programming activity is the process of debugging [removing mistakes from] a program. It is much easier to debug high level languages than low-level ones .in assembly or machine language . we would have to check things like. Whether a wrong operation code was used .
Whether a binary conversion was correct.
Whether a certain memory location was referred to consistently .
Whether a branch instruction caused a jump to the correct instruction and not say to the one before or after.
Whether a register was cleared before being used.
A – the compiler
B –Interpreters
C –translator
The compiler—
When we have written a program in a high-level language. We are still faced with the now familiar problem

Problem translated into machine language, a program called a compiler performs this job among other things. As

Japanese
AKIRA Johan Jill or English

Fortran program Fortran compiler for apple II program
In machine language of apple II

A compiler`s Job is much more varied and difficult than that of an assembler . some

High –level language :--
The two main programming languages fortran and cobol, reflect the main classes of problems solved on computers, fortran [from formula translation] was developed for solving scientific and engineering problems which involved a great deal of numerical computation. On the other hand cobol[common business oriented language] was designed to solve the data-processing problems of the business community . Typical problems are payroll , stock control ,accounts receivable, accountable , general ledger and cheques analysis.