The document outlines the five generations of programming languages, categorizing them into low-level (first and second generations) and high-level (third, fourth, and fifth generations) languages. Each generation has distinct characteristics, advantages, and disadvantages, ranging from machine language in the first generation to languages based on artificial intelligence in the fifth generation. Additionally, it discusses the essential characteristics of a good programming language, including simplicity, readability, efficiency, and community support.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0 ratings0% found this document useful (0 votes)
17 views11 pages
Computer Language Evolution.
The document outlines the five generations of programming languages, categorizing them into low-level (first and second generations) and high-level (third, fourth, and fifth generations) languages. Each generation has distinct characteristics, advantages, and disadvantages, ranging from machine language in the first generation to languages based on artificial intelligence in the fifth generation. Additionally, it discusses the essential characteristics of a good programming language, including simplicity, readability, efficiency, and community support.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
There are five generations of Programming languages. They
are:
LH i)
Tenet to Creu Cutty
4 i
Donne te ae Cgc De et ced
i
eee ec
if
4 i i ‘
Ser aC Co ec tc ea Lc Cnet
4 1 i
cera I ecu cy 3rd Generation Cre ICE eeu ey
i ‘
Donne Dt ae NaC CMT aa aes
lee Reema Uae ee eR Cold Set Sa ae)
First-Generation Languages :
These are low-level languages like machine language.
Second-Generation Languages :
These are low-level assembly languages used in kernels and
hardware drives.
Third-Generation Languages :
These are high-level languages like C, C++, Java, Visual
Basic, and JavaScript.Fourth Generation Languages :
These are languages that consist of statements that are
similar to statements in the human language. These are
used mainly in database programming and scripting.
Examples of these languages include Perl, Python, Ruby,
SQL, and MatLab(MatrixLaboratory).
Fifth Generation Languages :
These are the programming languages that have visual tools
to develop a program. Examples of fifth-generation
languages include Mercury, OPS5, and Prolog.
The first two generations are called low-level languages. The
next three generations are called high-level languages.
Programming Languaes
Low Level High Tevel
First Second Third — Fourth Fifth
Generation Generation Generation Generation Generation
1. First-Generation Language :
The first-generation languages are also called machine
languages/ 1G language. This language is machine-
dependent. The machine language statements are written in
binary code (0/1 form) because the computer can
understand only binary language.Advantages :
1. Fast & efficient as statements are directly written in binary
language.
2. No translator is required.
Disadvantages :
1. Difficult to learn binary codes.
2. Difficult to understand — both programs & where the error
occurred.
2. Second Generation Language :
The second-generation languages are also called assembler
languages/ 2G languages. Assembly language contains
human-readable notations that can be further converted to
machine language using an assembler.
Assembler — converts assembly level instructions to
machine-level instructions.
Programmers can write the code using symbolic instruction
codes that are meaningful abbreviations of mnemonics. It is
also known as low-level language.Advantages :
1. It is easier to understand if compared to machine
language.
2. Modifications are easy.
3. Correction & location of errors are easy.
Disadvantages :
1. Assembler is required.
2. This language is architecture /machine-dependent, with a
different instruction set for different machines.
3. Third-Generation Language :
The third generation is also called procedural language /3
GL. It consists of the use of a series of English-like words
that humans can understand easily, to write instructions. It's
also called High-Level Programming Language. For
execution, a program in this language needs to be translated
into machine language using a Compiler/ Interpreter.
Examples of this type of language are C, PASCAL, FORTRAN,
COBOL, etc.
Advantages :
1. Use of English-like words makes it a human-understandable language.
2. Lesser number of lines of code as compared to the above
2 languages.
3. Same code can be copied to another machine & executed
on that machine by using compiler-specific to that machine.
Disadvantages :
1. Compiler/ interpreter is needed.
2. Different compilers are needed for different machines.
4. Fourth Generation Language :
The fourth-generation language is also called a non —
procedural language/ 4GL. It enables users to access the
database. Examples: SQL, Foxpro, Focus, etc.
These languages are also human-friendly to understand.
Advantages :
1. Easy to understand & learn.
2. Less time is required for application creation.
3. It is less prone to errors.Disadvantages :
1. Memory consumption is high.
2. Has poor control over Hardware.
3. Less flexible.
5. Fifth Generation Language :
The fifth-generation languages are also called 5GL. It is
based on the concept of artificial intelligence. It uses the
concept that rather than solving a problem algorithmically,
an application can be built to solve it based on some
constraints, i.e., we make computers learn to solve any
problem. Parallel Processing & superconductors are used for
this type of language to make real artificial intelligence.
Examples: PROLOG, LISP, etc.
Advantages :
1. Machines can make decisions.
2. Programmer effort reduces to solve a problem.
3. Easier than 3GL or 4GL to learn and use.Disadvantages :
1. Complex and long code.
2. More resources are required & they are expensive too.
Computer languages have evolved from low-level to high-
level languages over time. Low-level languages include
machine language and assembly language, while high-level
languages include Python, Java, and C++. Here are some
characteristics of each type of language:
Computer Languages
Ce ee
Ceo d)
Use 1’ 5&0" sto Use mnemonics to Similar to
create instructions create instructions human langugae
Ex: Binary Language Assembly Language COBOL, FORTRAN, BASIC
C++, JAVA,
High Level Language
ADD A,B Assembly Language
100100111 Machine Language
vMachine language
Also known as a low-level language, machine language is the
only language that a computer can understand. It's made up
of binary numbers, or strings of 1s and 0s, that instruct a
processor to perform operations like addition and
comparison. For human viewing and modification, the binary
digits are often converted to hexadecimal (base 16).
Assembly language
A middle-level language, assembly language is designed to
be readable by humans. It uses predefined words called
mnemonics to create instructions that are similar to machine
code, but with words instead of numbers. Assembly
language allows programmers to communicate directly with
a computer's hardware.
High-level languages
Also known as HLLs, these languages have syntax and
structures that are closer to human-readable language,
making them easier for programmers to understand and
use. HLLs allow programmers to develop programs that are
independent of the type of machine they are running
on. Examples of HLLs include Python, Java, C++, JavaScript,
Ruby, and C#.Good Programming Language
Simplicity
Noturainess
C-)
Suitability
toits
Environment,
‘Characteristics
Extensibility of a Good
Programming
Language
Efficiency
Locality
Structured
Programming
Compactness } \ Support
A good programming language possesses several key
characteristics that contribute to its effectiveness and
usefulness. Here are some of the important characteristics:
+ Simplicity: A good programming language should be
easy to understand and use, with clear syntax and
semantics. It should allow developers to express their
ideas and solutions in a straightforward manner,
minimizing complexity and unnecessary details.
+ Readability: The language should promote code
readability, making it easy for programmers to
understand and maintain the code. Clear and consistentnaming conventions, indentation rules, and well-defined
structures contribute to improved readability.
Expressiveness: A good programming language
provides expressive power, enabling developers to write
concise and meaningful code. It should offer a rich set
of features and constructs that allow programmers to
solve problems efficiently and elegantly.
Efficiency: The language should enable developers to
write efficient code that executes quickly and consumes
minimal system resources. It should have built-in
optimization features or support for low-level
operations when necessary.
Portability: A good programming language should be
platform-independent or have strong cross-platform
support. It should allow code to be written once and run
on different operating systems or hardware
configurations without significant modifications.
Flexibility: The language should offer flexibility in terms
of programming paradigms and styles. It should
support various programming approaches such as
procedural, object-oriented, functional, or event-driven,
allowing developers to choose the most suitable
paradigm for their project.
Robustness: The language should provide strong error
handling mechanisms, including proper exceptionhandling and debugging support. It should also have
built-in safeguards against common programming
errors, ensuring the reliability and stability of the
resulting software.
Extensibility: A good programming language should
support extensibility, allowing developers to create
libraries, modules, or plugins to enhance its
functionality. It should have well-defined mechanisms
for code reuse and integration with other tools or
frameworks.
Community and Ecosystem: A thriving community and
ecosystem around a programming language are crucial.
A good language should have active developer
communities, online resources, documentation, and a
wide range of third-party libraries and frameworks that
make it easier for developers to learn, collaborate, and
build upon existing code.
Tooling Support: The availability of robust development
tools, such as integrated development environments
(IDEs), debuggers, profilers, and package managers,
greatly enhances the programming experience. A good
language should have a rich ecosystem of tools that
simplify development, testing, and deployment
processes.