0% found this document useful (0 votes)
58 views21 pages

History of Prog Language

Charles Babbage invented the Analytical Engine and Ada Lovelace was the first programmer. Fortran introduced variables, loops, and procedures and is still used for engineering. Algol 60 introduced block structure, recursion, and was influential but is unused now. COBOL was for business applications. Modern languages include C, C++, Java, Python and JavaScript. Programming languages have evolved from low-level machine languages to high-level languages that merge paradigms like object-orientation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views21 pages

History of Prog Language

Charles Babbage invented the Analytical Engine and Ada Lovelace was the first programmer. Fortran introduced variables, loops, and procedures and is still used for engineering. Algol 60 introduced block structure, recursion, and was influential but is unused now. COBOL was for business applications. Modern languages include C, C++, Java, Python and JavaScript. Programming languages have evolved from low-level machine languages to high-level languages that merge paradigms like object-orientation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

A brief history

of programming languages
Pioneers of programming

Charles Babbage:

Invented the Analytical Engine. His companion,


Ada Augusta Lovelace, is considered the first
programmer in history.

Konrad Zuse:

Designed Plankalkl. This notation (never


implemented) has features than can be found in
many existing programming languages.
Very low-level languages

Those are machine languages and assembly


languages, machine-dependent coding systems.
They were initially fully binary, and then symbolic.

There is one native machine language, and usually


one assembly language per processor model.

Upward compatibility can be a nightmare. Was


moving from 386 to 486 painless? From 486 to
Pentium
Fortran
Fortran was the first effectively implemented high-
level language that introduced variables as we know
them now, loops, procedures, statement labels and
much more.

The earliest versions of Fortran had many unique


features, often awkward, later kept along for
compatibility. It is still widely used in engineering
applications that require much array manipulation.

The newest version, Fortran 90, has converged


toward other popular programming languages.
Algol 60

It was the first to have block structure, recursion,


and a formal definition. It is not used now, but it
is the ancestor of most contemporary languages.

As far as design goes, Algol 60 was without


doubt the most important innovation in the
history of programming languages.
Cobol

Business-oriented computations
very strict program organization
poor control structures
elaborate data structures, record type
introduced for the first time.

Used to be very popular in business and


government, much less at universities.
PL/I
A combination of features believed (at the time)
best in Fortran, Algol 60, Cobol.
the first language designed to be completely
general, good for all possible applications
(what applications did not exist then?)
actively promoted by IBM
not used much today.

An interesting feature introduced in PL/I:


event handling.
Basic
The first in history language of personal
computing.

Beginner's All-Purpose Symbolic Instruction


Code

The first programming language for many


programmers: designed to be easy to learn.

Very simple, limited, though still general-


purpose.

Present-day versions of Basic are full-fledged


languagesnot "basic", and not easy to learn
any more.
Simula 67

An extension of Algol 60 designed for


simulation of concurrent processes.

Introduced the central concepts of object


orientation: classes and encapsulation.

Predecessor of Smalltalk and C++.

Now unused.
Algol 68

A very elegant design, unmatched till today.

Full orthogonality.

Extremely difficult to implement.

A very clever formal description, unfortunately


hard to understand for most potential users.

Completely unused.
Pascal

A conceptually simplified and cleaned-up successor of


Algol 60.

A great language for teaching structured programming.

An excellent first language to learn: teaches good


programming habits.

Its later extensions (for example, Delphi) are full-


fledged systems programming packages, as powerful
as any Java kit.
Modula-2

A better, conceptually uniform successor of Pascal.

Mechanisms to program concurrency (many


processes running in parallel).

Not used as much as it deserves.

Its successors, Modula-3 and Oberon, are even


more conceptually appealing, practically useful
and almost not used at all. (They lost the popularity
contest with C++.)
Ada

The result of an elaborate, multi-stage design


process, and a more successful attempt at
generality than PL/I.

Completely standard: there can be no dialects (like


Java, except that Microsoft...).

There are, however, two standards: Ada 83 (the


original), and Ada 95.

Ada has been designed to support concurrency in


a very neat, systematic way.
C
The implementation language of Unix.

A great tool for systems programming and a


software development language on personal
computers.

Once fashionable, still in use, but usually


superseded by C++.

Dangerous if not used properly:


not recommended to novice programmers.

Relatively low-level.
Lisp
One of the earliest programming languages.

Based on the concept of computing by evaluating


functions. Very good for symbolic computing.

For years, the only language for Artificial


Intelligence work. (Prolog is 12 years younger.)

Many dialects, two standards (Scheme, Common


Lisp). Nice programming environments.

Lisp's successors are very elegant (Miranda, ML,


Haskell) but not nearly as widely used.
Prolog
A very high-level programming language.
Declarative, based on a subset of logic,
with proofs interpreted as computation.
Very powerful:
Non-deterministic (built-in backtracking).
Elaborate, flexible pattern matching.
Associative memory.
Pattern-directed procedure invocation.
In skilled hands, it is a very strong tool.
Smalltalk

It is the purest object-oriented language


ever designed (till now), cleaner than Java,
much cleaner than C++.

Comes complete with a graphical interface


and an integrated programming
environment.

In skilled hands, a powerful tool.


C++

An object-oriented extension of the imperative


language C.

This is a hybrid design, with object orientation


added to a completely different base language.

Complicated syntax, difficult semantics.

Very fashionable, very much in demand.


Java did not (yet?) push it out.
Java

A neat, cleaned up, sized-down reworking of C++.

Full object orientation (though not as consistent as


Smalltalk)

Designed for Internet programming, but general-


purpose.

It is said (not quite correctly) to be slow.

New fashion: maybe the next de-facto standard?


Scripting languages

Text processing:
Perl
Python
Web programming
JavaScript
PHP
Languages that merge
programming paradigms
Object-oriented extensions: not only C++, but
dialects of Lisp (CLOS) or of Prolog (XPCE/Prolog,
Prolog++).
Logic programming combined with functional
programming (very clever, but only experimental).

Most languages are sequential: one processor, one


process. Ada is a language designed to support
concurrency: many processes running in parallel.

You might also like