Please enable JavaScript.
Coggle requires JavaScript to display documents.
A Short Historical Perspective (1950's & 1960's (FORTRAN…
A Short Historical Perspective
Beginnings
1940's
The first electronic computers appeared
Computers were giant machines ( length greater than 10 meters and weight over than 4 tons)
The price of these computers were insanely high
EDSAC
The first operational computer
Designed and developed by Maurice Wilkes' group at the University of Cambridge
Influenced by J. Mauchly and J.P. Eckert
ASCC / MARK I
Constructed in 1944 by IBM
IBM Automatic Sequence Controlled Calculator / Harvard Mark I
Required the used of punched tapes
ENIAC
It didn't have program storage
It was considered to be the real first computer, because it was many orders of magnitude faster than humans at computing
Recognised as a tool for fundamental progress
Used for the complicated calculation of ballistic trajectories
A modern computer must have the following properties:
It is electronic and digital
Is able to perform the four elementary arithmetic operations
It is programable
It allows the storage of programs and data
1950's & 1960's
FORTRAN
Developed by John Backus' group in 1957
Designed for applications of numerical-scientific type
Known as the first high-level language ever created
It was the first programming language to allow direct use of symbolic arithmetic expression.
ALGOL
Designed in 1956 by committee lead by Peter Naur
The name ALGOL is an acronym for algorithmic Language
Unlike FORTRAN, indeed, ALGOL was designed as a universal language
LISP
Designed in 1960 by a group led by John McCarthy at Massachusetts Institute of Technology
One of the first languages designed especially for non-numeric applications
The first implementations of LISP were very inefficient, so machines specially designed for LISP were constructed
COBOL
CO
mmon
B
usiness
O
riented
L
anguage
It was designed with the aim of producing a language that was specific to commercial applications
Designed by Grace Hopper
It's composed of 4 divisions
Procedure division
Data division
Environment division
Identification division
Simula
Another descendent of ALGOL60
Developed by K. Nygaard and O.J. Dahl in 1962
Designed for discrete-event simulation applications
In Simula67 the language introduced for the first time the concepts: class, object, subtype and dynamic method dispatch
1970's
C
Probably de most important language of this decade
Designed by Dennis Ritchie and Ken Thompson
C became a general purpose language
C offers opportunities to access the low-level functionality of the machine and to program interactive systems
Pascal
Developed by Niklaus Wirth
This was developed as a simplification of ALGOLW
The most used educational language of this decade
It was the first language which introduced the concept of intermediate code as an instrument for program portability
Smalltalk
It presents a novel way to integrate in a programming language mechanisms for encapsulation and information hiding
Designed to include the concept of object
ML
Born as Meta Language
In ML a program consists of a set of function definitions
It supports a type inference mechanism
1980's
C++
Defined by Bjarne Stroustrup in 1986
C remained a subset of C++
In C++ an assignment can then physically copy an object to the memory space that was occupied by another object rather than just manipulating a pointer
The static type system was improved and
Ada
The name is a tribute to Ada Byron Lovelace
Born from a competition between a number of groups of designers
The standard version of Ada was defined in 1983
It included abstract data types, the concept of task, timing mechanisms and mechanisms for the concurrent execution of tasks
CLP
Constrain Logic Programming languages
These allow the manipulation of relations over appropriate domains
The first to define a language with constraints was Colmerauer and his group in Marseille, 1982
1990's
Java
Object-oriented language
developed by a group led by Jim Gosling
Based on a new implementation of C++
Java had to satisfy two requirements
Portability
Security