The document discusses the history and evolution of programming languages from the 1940s to present. It notes that early languages provided little abstraction from computer hardware, but that over time languages increasingly abstracted complexity and improved developer productivity. The document outlines the development of assembly languages, third generation languages like FORTRAN, and more modern paradigms like object-oriented programming. It also discusses influential ideas like structured programming and the "GOTO controversy" that aimed to improve programming practices.
In this document
Powered by AI
Introduces the presenters and context of the presentation.
Discusses the evolution of programming languages from the 1800s to 1970s, highlighting Ada Lovelace, first-generation languages, and advancements in abstraction.
Covers developments in the 1990s, the concept of multiple programming languages in use, and the rise of complex software systems.
Highlights the challenges in language standards and testing, and the implications of structured programming.
Explores procedural, logic, and object-oriented programming languages, illustrating their evolution and examples.
Provides resources for further reading and the presenters' contact information.
Ada Lovelacemathematician in mid-1800’s.
Languages provided no abstraction from the computer
hardware.
1940’s - general-purpose computers
Machine Language
First Generation
Assembly Language
Second Generation
5.
Ancestors ofToday’s Languages.
Abstracted away the underlying complexities of
hardware environment.
1950’s - Fortran, COBOL
Third Generation Languages
6.
1960’s –1970’s
Increase the level of Abstraction
Make programs easier to develop and maintain.
Language Enhancements
Programming Paradigms
The GOTO Controversy.
Paradigms>>>>
GOTO >>>>
Formula Translation(FORTRAN) in 1954 led to...
Over 2000 languages.
How many languages in use today?
Difficult to say
Legacy Software(using outdated languages) is
everywhere.
Why can’t we just use one language?
10.
Everyone knowsit in one form or another.
Loops & Conditions.
Design Patterns.
APIs
How many of your friends know something called Rule
Engine?
It isjust a small piece of software in the big picture.
MAYBE (fuzzy logic)
An = 4an-1-3 (recursive rules)
No Standards
New Learning.
Difficult to Test.
Considered Harmful
Led to the concept of Structured Programing
Idea: Code is clearer if we restrict to a few control
structures.
Loops have single entry, single exit
<<<<<<Back
15.
Procedural programing Logic Programing
Program can be broken into Based on use of declarative
procedures (or subroutines or statements in the language of
functions) mathematical logic.
Examples: Examples:Prolog
Fortran, Algol, Cobol, C, Pas
cal
Object-oriented programing
Program is seen as a group of
cooperating objects
Ideas:
encapsulation, inheritance
Examples:C++, C#, Java, Pyt
<<<<Back
hon