You are on page 1of 13

PROGRAMMING LANGUAGES AND PARADIGMS

a. Evolution of Programming Languages b. Overview of Programming Paradigms

Evolution of Programming Languages First Generation Language (1GL) Second Generation Language (2GL) Third Generation Language (3GL) Fourth Generation Language (4GL) Fifth Generation Language (5GL)

First Generation: Languages

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

Third Generation: Languages

High-Level

mid to late 1950s also called high-level programming languages 3GL introduced the use of data structures and control structures.

support the concept of structured

decomposition
Breaking

down a program into smaller modules or subprograms that can be reused.

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.

non-procedural specification languages


also referred as

Fifth Generation: AI

during 1990s known as Artificial Intelligence rely on algorithms defined by the programmer to solve problems

OVERVIEW OF PROGRAMMING PARADIGMS

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

to model a real-world system

Concurrent and Distributed Programming


computer

programming technique that allows for the execution of two or more operations at the same time.

END

You might also like