What is Programming ?

What is Programming ?

What is Programming ?

computer Program is a set of instructions. Every Computer Program is a series of instructions. It is a sequence that contains small commands one by one. Now there may be five commands in a program or 5,000 maybe 5 million. Each command is telling the computer to do something very small, but very specific.

Programming Language Generations

Since 1945 we have discovered tons of programming language.These language are mainly categorized by five level.

1. First Generation Language (1GL 1945): Machine language

2. Second Generation Language (2GL 1950): Assembly language

3. Third Generation Language (3GL 1960): High Level language

4. Fourth Generation Language (4GL 1970): Very High Level language

5. Fifth Generation Language (5GL 1980): Natural language

History of programming language

1945- Machine Language

1950- EDSAC assembly Language

1954- FORTRAN

1958- Algol-58, LISP

1960- COBOL

1964- RPG,PL/1

1965- BASIC

1967- Logo, Simula

1968- APL

1970- Pascal, Smalltalk

1971- FORTH

1972- C, PROLOG

1979- Ada

1981- Modula-2

1982- dBase

1983- C++

1984- Turbo Pasacal

1987- HyperCard

1995- JAVA

2000- C#

Machine language and assemble language are also assigned by low level language because these two language are close like computer language (0 and 1). On the other hand high level language are similar like man’s language as in example English language.

First Generation Language (1GL 1945): Machine language

First generation language or machine language was, developed by Konrad Zuse for his Z1 computer between 1943 and 1945 but not implemented at the time. The first functioning programming languages designed to communicate instructions to a computer were written in the early 1950s. Machine language is a computer programming language consisting of binary or hexadecimal instructions which a computer can respond to directly. For example, a program instruction may look like this:

1011000111101

Computer can not understand except this language. If anyone program by any other language then it needs to be translated. Making program in machine language is consumed lots of times and it is also complicated. There are mainly 4 commands do by this language,

Arithmetic

Control

Input-Output

Direct Use

Advantage Machine Language:
The only advantage is that program of machine language run very fast because no translation program is required for the CPU.

Disadvantages Machine Language:
1. It is very difficult to program in machine language. The programmer has to know details of hardware to write program.
2. The programmer has to remember a lot of codes to write a program which results in program errors.
3. It is difficult to debug the program.

Second Generation Language (2GL 1950): Assembly language

Assembly language also called the symbolic language. This language First appeared in 1949. Assembly code is converted into executable machine code by a utility program referred to as an assembler. The conversion process is referred to as assembly, or assembling the source code. Assembly language usually has one statement per machine instruction, but comments and statements that are assembler directives, macros, and symbolic labels of program and memory locations are often also supported.

There are mainly four sequel in assembly language.

level

Op-Code

Operand

Comment

Advantages Of Assembly Language

Programs written in machine language are replaceable by mnemonics which are easier to remember.

Memory Efficient.

It is not required to keep track of memory locations.

Faster in speed.

Easy to make insertions and deletions.

Hardware Oriented.

Requires fewer instructions to accomplish the same result.

Disadvantages Of Assembly Language

Long programs written in such languages cannot be executed on small sized computers.

It takes lot of time to code or write the program, as it is more complex in nature.

Difficult to remember the syntax.

Lack of portability of program between computers of different makes.

No SDKs (System Development Kit).

Third Generation Language (3GL 1960): High Level language

High-level languages are designed to be used by the human operator or the programmer. They are referred to as “closer to humans.” In other words, their programming style and context is easier to learn and implement than low-level languages, and the entire code generally focuses on the specific program to be created.

A high-level language does not require addressing hardware constraints when developing a program. However, every single program written in a high-level language must be interpreted into machine language before being executed by the computer.

BASIC, C/C++ and Java are popular examples of high-level languages.

 

Advantages of High level language

High level languages are programmer friendly. They are easy to write, debug and maintain.

It provide higher level of abstraction from machine languages.

It is machine independent language.

Easy to learn.

Less error prone, easy to find and debug errors.

High level programming results in better programming productivity.

Disadvantages of High level language

It takes additional translation times to translate the source to machine code.

High level programs are comparatively slower than low level programs.

Compared to low level programs, they are generally less memory efficient.

Cannot communicate directly with the hardware.

Fourth Generation Language (4GL1970): Very High Level language

A fourth generation (programming) language (4GL) is a grouping of programming languages that attempt to get closer than 3GLs to human language, form of thinking and conceptualization. 

4GLs are designed to reduce the overall time, effort and cost of software development. The main domains and families of 4GLs are: database queries, report generators, data manipulation, analysis and reporting, screen painters and generators, GUI creators, mathematical optimization, web developmentand general purpose languages.

Also known as a 4th generation language, a domain specific language, or a high productivity language. As an example of this language are SQL,NOMAD,RPGIII,Intellect.

Fifth Generation Language (5GL 1980): Natural language

A fifth-generation programming language (5GL) is any programming language based on problem solving using constraints given to the program, rather than using an algorithm written by a programmer.