0% found this document useful (0 votes)
10 views

2-Evolution of Programming Languages

The document discusses the evolution of programming languages from early pseudocodes to modern languages like Python and Ruby. It covers many influential languages including FORTRAN, LISP, ALGOL, COBOL, BASIC, PL/I, Ada, C++, and Java and describes their key features and impact.

Uploaded by

SimbaBabdu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

2-Evolution of Programming Languages

The document discusses the evolution of programming languages from early pseudocodes to modern languages like Python and Ruby. It covers many influential languages including FORTRAN, LISP, ALGOL, COBOL, BASIC, PL/I, Ada, C++, and Java and describes their key features and impact.

Uploaded by

SimbaBabdu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Principles of Programming

Languages(CS F301)
Prof.R.Gururaj
BITS Pilani CS&IS Dept.
Hyderabad Campus
Evolution of Programming
Languages (Ch.2 of T1)
BITS Pilani
Hyderabad Campus
First known Programming Language:
Plankalkul, by a German Scientist Konrad Zuse (“Tsoo
Zuh”) was the First PL designed for his computer Z4
around 1945. But published in 1972.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Pseudocodes

Not in the same sense as we understand it now.


Between 1940-50 certain languages were known
as pseudocodes.
Computers were slow, unreliable, expensive and
had small memories.
Initially coding done in machine language.
(tedious and error prone)
This led to HighLevel PLs.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


1949- Short code:
It was interpreter.
Called Automatic Programming.
No floating point operations supported by HW.
1954- Speed coding:
It was interpreter.
Easier than machine code.
1951-53 UNIVAC Compiling systems
Convert pseudo code to machine code.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


IBMs 704 and FORTRAN

1950-54: First (compiled) HL PL. at IBM.


Included indexing, FP
The environment when it was developed:
Small memory, slow, unreliable
Primary use was for Sc. Computations
No existing effective & Efficient PLs
Cost of HW was high. Speed of generated object
code was of primary goal of first FORTRAN
Compilers.
Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus
IBMs 704 and FORTRAN

1954: FORTRAN-0
1957: FORTRAN-1
1958: FORTRAN-2
1960-62: FORTRAN-4 (ANSI 66)
1977:FORTRAN-77
1990:FORTRAN-90
1995:FORTRAN-95
2003:FORTRAN-2003
2008:FORTRAN-2008

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Effect of FORTRAN

1. Its effect on computers was great.


2. All subsequent PLs owe a debt to
FORTRAN.
3. Type and storage of all variables is fixed
before runtime. (up to F-90)
4. It dramatically changed the way computers
were used.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Evolution of FORTRAN

Is a general-purpose, compiled imperative programming language that


is especially suited to numeric computation and scientific computing.
Fortran encompasses a lineage of versions, each of which evolved to
add extensions to the language while usually retaining compatibility
with prior versions.
Support for structured programming and processing of character-based
data (FORTRAN 77),
Array programming, modular programming and generic programming
(Fortran 90),
High performance Fortran (Fortran 95),
Object-oriented programming (Fortran 2003),
Concurrent programming (Fortran 2008),
Parallel computing capabilities (Coarray Fortran 2008/2018).

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Functional Programming LISP

1950; Its based on applying functions to arguments.


Need: Some methods to allow computers to process symbolic
data in linked lists.
At that time, most computations were on data in Arrays.
Required- recursion, conditional expressions, dynamic allocation
& deallocation of linked list space.
FORTRAN-1 did not support these.
Two descendants of LISP:
Scheme 1970: small size, treat functions as first class entities,
best suited for teaching course on PLs.
Common LISP: 1970-80 Amalgam of different dialects of LISP.
Complex.
Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus
ALGOL 58
(ALGOrithmic Language)

1958; Descendant of FORTRAN.


Objective: to introduce a PL that is not tied to HW, more flexible
and powerful, i.e., combination of simplicity and elegance.
The reason for its failure to become popular.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


ALGOL 60

First to use of BNF (Backus-Naur Form) to describe the


language.
[Backus and Peter Naur]
Features and Evaluation:
Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


COBOL

COmmon Business-Oriented Language (1960)


Widely used.
Compiled language.
COBOL’s Progenitor is FLOW-MATIC. (early 1950)
Philosophy: Data processing programs must use English
like words rather than mathematical expressions.
Evaluation: Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


BASIC 1971

By Mather and Waite.

Got little respect.


Like COBOL ignored by Computer Scientists.
Had meager set of control statements.

Evaluation: Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


PL/I (1965)

Represents the first large scale attempt to design a


language that could be used for broad spectrum of
application areas.
All previous languages have focused particular application
area as – AI, Scientific, business etc.
Features:

First PL to…

Evaluation:
Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Two Dynamic Languages

APL- 1960

SNOBOL -1971

Evaluation: Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


SIMULA 67

Evaluation: Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


ALGOL-68

Evaluation: Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Early Descendants
of ALGOL 68
Early descendants of ALGOL:

PASCAL- 1971

A portable system language – C- 1972

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Prolog

Evaluation:
A prolog database contains: Rules and Facts
Ex: Fact statements.
Mother(x,y)
Father(m,n)

Rule statements:
Grandparent(a,b) :- parent(a,c), parent(c,b).

Prolog database can be interactively queried with goal statement.


Father(m,n).
Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus
Ada

Evaluation: Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Smalltalk

Evaluation: Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


C++

Evaluation: Refer to the textbook.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Other hybrid family languages

Objective C
Delphi
Go
Java

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Scripting languages

Sh (shell)
Perl
Java Script
PHP
Python
Ruby
.NET C#

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Markup languages

XML
XSLT
JSP

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus


Summary

 We understood the evolution of some important languages.


 We investigated the development and development
environments of a number of important PLs.
 Now e are ready to start with discussion of the important
features of contemporary PLs.

Prof.R.Gururaj CSF301 PPL BITS Pilani, Hyderabad Campus

You might also like