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.