Professional Documents
Culture Documents
Evolution of Programming Languages First Generation Language (1GL) Second Generation Language (2GL) Third Generation Language (3GL) Fourth Generation Language (4GL) Fifth Generation Language (5GL)
Machine
late 1940s to early 1950 known as Machine languages use a binary code very difficult to learn and use machine dependent
Second Languages
Generation:
Assembly
Early to mid-1950s refer to some form of symbolic or assembly language need to be converted into machine language machine dependent
High-Level
mid to late 1950s also called high-level programming languages 3GL introduced the use of data structures and control structures.
decomposition
Breaking
machine-independent or portable
Fourth Languages
Generation:
Declarative
early 1970s more advanced than traditional high-level programming languages commands are usually English-like do not require traditional input-process-output logic.
Fifth Generation: AI
during 1990s known as Artificial Intelligence rely on algorithms defined by the programmer to solve problems
Imperative Programming
The
oldest and most traditional model of computing. how-oriented. It specifies how the computation is to take place. Sequence of commands or instructions for the computer to follow
Functional Programming
expression-oriented
computations
are specified through mathematical functions that evaluate input expressions rather than the execution of commands.
Logic Programming
Programs
are written as logical statements that describe the properties the solution must have. what-oriented. A logic program does not specify how to compute the solution, but rather consists of a declarative description of the problem as a set of rules.
Object-Oriented Programming
Data
structures are viewed as objects, and programmers create relationships between these objects. Object. Meaningful software units
Date
objects, time objects, paycheck objects, invoice objects, audio objects, video objects, file objects, record objects, etc. Any noun can be represented as an object
attempt
programming technique that allows for the execution of two or more operations at the same time.
END