November 21, 2024

What is programming? Explain the generation of Programming languages.

Programming?

  • The process of writing a program following the grammar of the programming language is known as Programming.
  • The process of using programming language to instruct the computer is known as Programming.
  • Computers are dumb, we make them smart by programming.

How do we write code?

  • To properly send instructions to the computer we need a programming language.
  • We used IDE (Integrated Development Environment). It is a place where we write, run and debug the code and also convert it into machine code.
  • Each language has its own set of rules you must follow within IDE. It means you need syntax.

Programming Language?

  • •The language which employs to interact with computers is known as a computer or programming language.
  • •Computer only understands machine code i.e. series of 1 and 0.
  • •Programming language can be categorized into the following ways.

A. Low-Level language

  1. Machine/Binary language or 1st generation language (1GL)

2.Assembly language or 2nd generation language (2GL)

B. High-Level language

1. Procedural-oriented language or Third generation language (3GL)

2. Problem-oriented language or Fourth generation language (4GL)

3. Natural language or Fifth generation language (5GL)

1. Low-level language

  • Low-level language is closer to the hardware designs.
  • Developing programs in a low-level language are time-consuming and difficult
  • Programmers require detailed knowledge of hardware architecture to use this language.
  • It is machine dependent language
  • It is more efficient to develop hardware-oriented language.
  • Low-level language can be further categorized as.
  • a)Machine Language
  • b)Assembly Language

a) Machine Language (1GL)

  • A machine language consists of binary numbers (i.e. 0 and 1) and this is the only language that is directly understood by the computer so, a language translator is not required for translation.
  • It has a very fast execution speed and efficient use of memory.
  • A programmer needs knowledge of the internal architecture of computer systems to write a program.
  • Programs written in Machine language are machine dependent.
  • It is tedious, difficult, and time-consuming to develop and debug a program.

b) Assembly language (2GL)

  • Assembly language lies between the low-level and high-level language and this language uses mnemonics (symbolic code like ADD, SUB, etc.) code to write a program instead of 1 and 0 in binary.
  • Programs written in this language cannot be executed directly. It needs to translate into machine language code(object code) with the help of an assembler.
  • It is easier to develop and debug programs compared to machine language.
  • It is also a machine-dependent language.
  • Programmers require detailed knowledge of hardware architecture.
  • It is useful for developing hardware-oriented system software like device drivers.

2) High-level language

  • High-level languages are closer to human languages or English-like words which makes it easy to write, read and debug the program.
  • A compiler or interpreter translates the program written in a high-level language into machine language because high-level language is not directly understood by a computer.
  • High language is machine-independent language. So, a program developed for a system can also be used in another system without modification.
  • Examples of High-level languages are C, C++, FORTRAN, BASIC, etc.
  • High-level language can be further categorized as:
  • a)Procedural Oriented language (3GL)
  • b)Problem-Oriented language (4GL)
  • c)Natural Language (5GL)

a) Procedural-oriented language (3GL)

  • It is a general-purpose programming language that is designed to express the logic and procedure of a problem.
  • More advanced and user-friendly software can be developed.
  • Programmers need to specify the working process of the program in detail.
  • Program execution is slower than the Low language.
  • Programmers don’t require detailed knowledge of hardware architecture.
  • It is a machine-independent language.
  • Examples are C, C++, BASIC, etc.

b) Problem-oriented language (4GL)

  • It allows the user to specify what the output should be, without describing all the details of how the data should be manipulated to produce the result.
  • These are result oriented and include database query languages.
  • It increases the speed of developing programs.
  • Reduce errors while writing programs that are easy to maintain.
  • It is even easier to develop and debug programs than in procedural-oriented language.
  • Web-based software can be developed.
  • It is also a machine-independent language.
  • Program execution is even slower and difficult to develop hardware-oriented software.
  • Example: PHP, My SQL, SQL, etc.

c) Natural Language (5GL)

  • It is currently being used for neural networks and is still in the stage of development.
  • In this language, statements look like normal sentences.
  • It will be even easier to develop and debug programs.
  • It will also be machine independent language
  • Programmers will not require detailed knowledge of hardware architecture and programmers don’t require specifying the working process in detail.
  • Examples: PROLOG, LISP, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *