SlideShare a Scribd company logo
1 
Chapter 2 Topics (continued) 
• Everything for Everybody: PL/I 
• Two Early Dynamic Languages: APL and 
SNOBOL 
• The Beginnings of Data Abstraction: SIMULA 67 
• Orthogonal Design: ALGOL 68 
• Some Early Descendants of the ALGOs 
• Programming Based on Logic: Prolog 
• History's Largest Design Effort: Ada
2 
Chapter 2 Topics (continued) 
• Object-Oriented Programming: Smalltalk 
• Combining Imperative ad Object-Oriented 
Features: C++ 
• An Imperative-Based Object-Oriented Language: 
Java 
• Scripting Languages: JavaScript, PHP, and 
Python 
• A C-Based Language for the New Millennium: 
C# 
• Markup/Programming Hybrid Languages
3 
Genealogy of Common Languages
4 
Plankalkül 
• Never implemented 
• Advanced data structures 
– floating point, arrays, records 
• Invariants
5 
Plankalkül Syntax 
• An assignment statement to assign the expression 
A[4] + 1 to A[5] 
| A + 1 => A 
V | 4 5 (subscripts) 
S | 1.n 1.n (data types)
6 
Minimal Hardware Programming: 
Pseudocodes 
• What was wrong with using machine code? 
– Poor readability 
– Poor modifiable 
– Expression coding was tedious 
– Machine deficiencies--no indexing or floating point
7 
Pseudocodes: Short Code 
– Expressions were coded, left to right 
– Example of operations: 
01 – 06 abs value 1n (n+2)nd power 
02 ) 07 + 2n (n+2)nd root 
03 = 08 pause 4n if <= n 
04 / 09 ( 58 print and tab
8 
Pseudo codes: Speed coding 
• Speed coding developed by Backus in 1954 for 
IBM 701 
• Pseudo ops for arithmetic and math functions 
– Conditional and unconditional branching 
– Auto-increment registers for array access 
– Slow! 
– Only 700 words left for user program
9 
Pseudo codes: Related Systems 
• The UNIVAC Compiling System 
– Developed by a team led by Grace Hopper 
– Pseudo code expanded into machine code 
• (Cambridge University) 
– developed a method of using blocks of re-locatable 
addresses to solve the problem of absolute addressing
10 
IBM 704 and Fortran 
• Fortran 0: 1954 - not implemented 
• Fortran I:1957 
– Designed for the new IBM 704, which had index 
registers and floating point hardware 
– Environment of development 
• Computers were small and unreliable 
• Applications were scientific 
• No programming methodology or tools 
• Machine efficiency was most important
11 
Design Process of Fortran 
• Impact of environment on design of Fortran I 
– No need for dynamic storage 
– Need good array handling and counting loops 
– No string handling, decimal arithmetic, or powerful 
input/output (commercial stuff)
12 
Fort ran I Overview 
• First implemented version of Fortran 
– Names could have up to six characters 
– Post-test counting loop (DO) 
– Formatted I/O 
– User-defined subprograms 
– Three-way selection statement (arithmetic IF) 
– No data typing statements
13 
Fortran I Overview (continued) 
• First implemented version of FORTRAN 
– No separate compilation 
– Compiler released in April 1957, after 18 worker-years 
of effort 
– Programs larger than 400 lines rarely compiled correctly, 
mainly due to poor reliability of 704 
– Code was very fast 
– Quickly became widely used
14 
Fortran II 
• Distributed in 1958 
– Independent compilation 
– Fixed the bugs
15 
Fortran IV 
• Evolved during 1960-62 
– Explicit type declarations 
– Logical selection statement 
– Subprogram names could be parameters 
– ANSI standard in 1966
16 
Fortran 77 
• Became the new standard in 1978 
– Character string handling 
– Logical loop control statement 
– IF-THEN-ELSE statement
17 
Fortran 90 
• Most significant changes from Fortran 77 
– Modules 
– Dynamic arrays 
– Pointers 
– Recursion 
– CASE statement 
– Parameter type checking
18 
Fortran Evaluation 
• Highly optimizing compilers (all versions before 
90) 
– Types and storage of all variables are fixed before run 
time 
• Dramatically changed forever the way computers 
are used
19 
Functional Programming: LISP 
• List Processing language 
– Designed at MIT by McCarthy 
• AI research needed a language to 
– Process data in lists (rather than arrays) 
– Symbolic computation (rather than numeric) 
• Only two data types: atoms and lists
20 
Representation of Two LISP Lists
21 
LISP Evaluation 
• Pioneered functional programming 
– No need for variables or assignment 
– Control via recursion and conditional expressions 
• Still the dominant language for AI 
• COMMON LISP and Scheme are contemporary 
dialects of LISP 
• ML, Miranda, and Haskell are related languages
22 
Scheme 
• Developed at MIT in mid 1970s 
• Small 
• Extensive use of static scoping 
• Functions as first-class entities 
• Simple syntax (and small size) make it ideal for 
educational applications
23 
COMMON LISP 
• An effort to combine features of several dialects of 
LISP into a single language 
• Large, complex
24 
The First Step Toward Sophistication: 
ALGOL 60 
• Environment of development 
– FORTRAN had (barely) arrived for IBM 70x 
– Many other languages were being developed, all for 
specific machines 
– No portable language; all were machine-dependent 
– No universal language for communicating algorithms 
• ALGOL 60 was the result of efforts to design a 
universal language
25 
Early Design Process 
• ACM and GAMM met for four days for design 
(May 27 to June 1, 1958) 
• Goals of the language 
– Close to mathematical notation 
– Good for describing algorithms 
– Must be translatable to machine code
26 
ALGOL 58 
• Concept of type was formalized 
• Names could be any length 
• Arrays could have any number of subscripts 
• Parameters were separated by mode (in & out) 
• Subscripts were placed in brackets 
• Compound statements (begin ... end) 
• Semicolon as a statement separator 
• Assignment operator was := 
• if had an else-if clause 
• No I/O - “would make it machine dependent”
27 
ALGOL 58 Implementation 
• Not meant to be implemented, but variations of it 
were (MAD, JOVIAL) 
• Although IBM was initially enthusiastic, all 
support was dropped by mid 1959
28 
ALGOL 60 Overview 
• Modified ALGOL 58 at 6-day meeting in Paris 
• New features 
– Block structure (local scope) 
– Two parameter passing methods 
– Subprogram recursion 
– Stack-dynamic arrays 
– Still no I/O and no string handling
29 
ALGOL 60 Evaluation 
• Successes 
– It was the standard way to publish algorithms for over 
20 years 
– All subsequent imperative languages are based on it 
– First machine-independent language 
– First language whose syntax was formally defined 
(BNF)
30 
ALGOL 60 Evaluation (continued) 
• Failure 
– Never widely used, especially in U.S. 
– Reasons 
• Lack of I/O and the character set made programs non-portable 
• Too flexible--hard to implement 
• Entrenchment of Fortran 
• Formal syntax description 
• Lack of support from IBM
Computerizing Business Records: COBOL 
31 
• Environment of development 
– UNIVAC was beginning to use FLOW-MATIC 
– USAF was beginning to use AIMACO 
– IBM was developing COMTRAN
32 
COBOL Historical Background 
• Based on FLOW-MATIC 
• FLOW-MATIC features 
– Names up to 12 characters, with embedded hyphens 
– English names for arithmetic operators (no arithmetic 
expressions) 
– Data and code were completely separate 
– Verbs were first word in every statement
33 
COBOL Design Process 
• First Design Meeting (Pentagon) - May 1959 
• Design goals 
– Must look like simple English 
– Must be easy to use, even if that means it will be less powerful 
– Must broaden the base of computer users 
– Must not be biased by current compiler problems 
• Design committee members were all from computer 
manufacturers and DoD branches 
• Design Problems: arithmetic expressions? subscripts? Fights 
among manufacturers
Ad

Recommended

Computer history krishna
Computer history krishna
Krishna Chandra Singh
 
Evalution about programming language part 1
Evalution about programming language part 1
Synapseindiappsdevelopment
 
Principles Of Programing Languages
Principles Of Programing Languages
Matthew McCullough
 
2013 Hello GCC:The Theory, History and Future of System Linkers
2013 Hello GCC:The Theory, History and Future of System Linkers
Ching-Yi Chen
 
Can programming be liberated from the von neumann style?
Can programming be liberated from the von neumann style?
Oriol López Massaguer
 
Julia Computing - an alternative to Hadoop
Julia Computing - an alternative to Hadoop
Shaurya Shekhar
 
2 evolution of the major
2 evolution of the major
Munawar Ahmed
 
High performance computing language,julia
High performance computing language,julia
Anusha sweety
 
Programming language
Programming language
Makku-Sama
 
CH # 1 preliminaries
CH # 1 preliminaries
Munawar Ahmed
 
R meet up slides.pptx
R meet up slides.pptx
Corey Sparks
 
Resume
Resume
muddanas
 
Programming languages
Programming languages
MuntasirMuhit
 
An overview of computers and programming languages
An overview of computers and programming languages
Ahmad Idrees
 
Introduction to R programming
Introduction to R programming
Victor Ordu
 
Chapter 2 : Theory of programming languages
Chapter 2 : Theory of programming languages
LaraibSaeed4
 
2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdf
HILALJAMIRUDDINABDUL
 
pl10ch2.ppt
pl10ch2.ppt
nazimsattar
 
PYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptx
shalini s
 
2 evolution of the major programming languages
2 evolution of the major programming languages
jigeno
 
PPL unit 1 syntax and semantics- evolution of programming language lexical an...
PPL unit 1 syntax and semantics- evolution of programming language lexical an...
SARANYAM124686
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
Madurai Kamaraj University Madurai Tamil Nadu India
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
Madurai Kamaraj University Madurai Tamil Nadu India
 
A History of Computer Programming Languages.pdf
A History of Computer Programming Languages.pdf
Sohaib Roomi
 
History of computer language
History of computer language
Claire Punkcor
 
Programming skills
Programming skills
COMMON Europe
 
GeekNight: Evolution of Programming Languages
GeekNight: Evolution of Programming Languages
Hyderabad Scalability Meetup
 
Geek Night 16.0 - Evolution of Programming Languages
Geek Night 16.0 - Evolution of Programming Languages
GeekNightHyderabad
 
Paradigms
Paradigms
Edward Blurock
 
Unit1 principle of programming language
Unit1 principle of programming language
Vasavi College of Engg
 

More Related Content

What's hot (7)

Programming language
Programming language
Makku-Sama
 
CH # 1 preliminaries
CH # 1 preliminaries
Munawar Ahmed
 
R meet up slides.pptx
R meet up slides.pptx
Corey Sparks
 
Resume
Resume
muddanas
 
Programming languages
Programming languages
MuntasirMuhit
 
An overview of computers and programming languages
An overview of computers and programming languages
Ahmad Idrees
 
Introduction to R programming
Introduction to R programming
Victor Ordu
 
Programming language
Programming language
Makku-Sama
 
CH # 1 preliminaries
CH # 1 preliminaries
Munawar Ahmed
 
R meet up slides.pptx
R meet up slides.pptx
Corey Sparks
 
Programming languages
Programming languages
MuntasirMuhit
 
An overview of computers and programming languages
An overview of computers and programming languages
Ahmad Idrees
 
Introduction to R programming
Introduction to R programming
Victor Ordu
 

Similar to Evalution about programming language part 2 (20)

Chapter 2 : Theory of programming languages
Chapter 2 : Theory of programming languages
LaraibSaeed4
 
2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdf
HILALJAMIRUDDINABDUL
 
pl10ch2.ppt
pl10ch2.ppt
nazimsattar
 
PYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptx
shalini s
 
2 evolution of the major programming languages
2 evolution of the major programming languages
jigeno
 
PPL unit 1 syntax and semantics- evolution of programming language lexical an...
PPL unit 1 syntax and semantics- evolution of programming language lexical an...
SARANYAM124686
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
Madurai Kamaraj University Madurai Tamil Nadu India
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
Madurai Kamaraj University Madurai Tamil Nadu India
 
A History of Computer Programming Languages.pdf
A History of Computer Programming Languages.pdf
Sohaib Roomi
 
History of computer language
History of computer language
Claire Punkcor
 
Programming skills
Programming skills
COMMON Europe
 
GeekNight: Evolution of Programming Languages
GeekNight: Evolution of Programming Languages
Hyderabad Scalability Meetup
 
Geek Night 16.0 - Evolution of Programming Languages
Geek Night 16.0 - Evolution of Programming Languages
GeekNightHyderabad
 
Paradigms
Paradigms
Edward Blurock
 
Unit1 principle of programming language
Unit1 principle of programming language
Vasavi College of Engg
 
A history of (Nordic) compilers and autocodes
A history of (Nordic) compilers and autocodes
InfinIT - Innovationsnetværket for it
 
01 intro
01 intro
Nirai Mathi
 
Programming Languages
Programming Languages
Amity University | FMS - DU | IMT | Stratford University | KKMI International Institute | AIMA | DTU
 
Grade 10 introduction and history of programming
Grade 10 introduction and history of programming
Rafael Balderosa
 
COMP6411.1.history.ppt
COMP6411.1.history.ppt
Jadna Almeida
 
Chapter 2 : Theory of programming languages
Chapter 2 : Theory of programming languages
LaraibSaeed4
 
2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdf
HILALJAMIRUDDINABDUL
 
PYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptx
shalini s
 
2 evolution of the major programming languages
2 evolution of the major programming languages
jigeno
 
PPL unit 1 syntax and semantics- evolution of programming language lexical an...
PPL unit 1 syntax and semantics- evolution of programming language lexical an...
SARANYAM124686
 
A History of Computer Programming Languages.pdf
A History of Computer Programming Languages.pdf
Sohaib Roomi
 
History of computer language
History of computer language
Claire Punkcor
 
Geek Night 16.0 - Evolution of Programming Languages
Geek Night 16.0 - Evolution of Programming Languages
GeekNightHyderabad
 
Unit1 principle of programming language
Unit1 principle of programming language
Vasavi College of Engg
 
Grade 10 introduction and history of programming
Grade 10 introduction and history of programming
Rafael Balderosa
 
COMP6411.1.history.ppt
COMP6411.1.history.ppt
Jadna Almeida
 
Ad

More from Synapseindiappsdevelopment (20)

Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skills
Synapseindiappsdevelopment
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture module
Synapseindiappsdevelopment
 
SynapseIndia dotnet module development part 1
SynapseIndia dotnet module development part 1
Synapseindiappsdevelopment
 
SynapseIndia dotnet framework library
SynapseIndia dotnet framework library
Synapseindiappsdevelopment
 
SynapseIndia dotnet development platform overview
SynapseIndia dotnet development platform overview
Synapseindiappsdevelopment
 
SynapseIndia dotnet development framework
SynapseIndia dotnet development framework
Synapseindiappsdevelopment
 
SynapseIndia dotnet web applications development
SynapseIndia dotnet web applications development
Synapseindiappsdevelopment
 
SynapseIndia dotnet website security development
SynapseIndia dotnet website security development
Synapseindiappsdevelopment
 
SynapseIndia mobile build apps management
SynapseIndia mobile build apps management
Synapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architecture
Synapseindiappsdevelopment
 
SynapseIndia java and .net development
SynapseIndia java and .net development
Synapseindiappsdevelopment
 
SynapseIndia dotnet development panel control
SynapseIndia dotnet development panel control
Synapseindiappsdevelopment
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client library
Synapseindiappsdevelopment
 
SynapseIndia php web development
SynapseIndia php web development
Synapseindiappsdevelopment
 
SynapseIndia mobile apps architecture
SynapseIndia mobile apps architecture
Synapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architecture
Synapseindiappsdevelopment
 
SynapseIndia mobile apps
SynapseIndia mobile apps
Synapseindiappsdevelopment
 
SynapseIndia dotnet development
SynapseIndia dotnet development
Synapseindiappsdevelopment
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library Development
Synapseindiappsdevelopment
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically development
Synapseindiappsdevelopment
 
Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skills
Synapseindiappsdevelopment
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture module
Synapseindiappsdevelopment
 
SynapseIndia dotnet development platform overview
SynapseIndia dotnet development platform overview
Synapseindiappsdevelopment
 
SynapseIndia dotnet web applications development
SynapseIndia dotnet web applications development
Synapseindiappsdevelopment
 
SynapseIndia dotnet website security development
SynapseIndia dotnet website security development
Synapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architecture
Synapseindiappsdevelopment
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client library
Synapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architecture
Synapseindiappsdevelopment
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library Development
Synapseindiappsdevelopment
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically development
Synapseindiappsdevelopment
 
Ad

Recently uploaded (20)

Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 6-14-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 6-14-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
A Visual Introduction to the Prophet Jeremiah
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 
K12 Tableau User Group virtual event June 18, 2025
K12 Tableau User Group virtual event June 18, 2025
dogden2
 
Aprendendo Arquitetura Framework Salesforce - Dia 02
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
How payment terms are configured in Odoo 18
How payment terms are configured in Odoo 18
Celine George
 
Tanja Vujicic - PISA for Schools contact Info
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
jutaydeonne
 
Vitamin and Nutritional Deficiencies.pptx
Vitamin and Nutritional Deficiencies.pptx
Vishal Chanalia
 
Peer Teaching Observations During School Internship
Peer Teaching Observations During School Internship
AjayaMohanty7
 
English 3 Quarter 1_LEwithLAS_Week 1.pdf
English 3 Quarter 1_LEwithLAS_Week 1.pdf
DeAsisAlyanajaneH
 
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
SCHIZOPHRENIA OTHER PSYCHOTIC DISORDER LIKE Persistent delusion/Capgras syndr...
SCHIZOPHRENIA OTHER PSYCHOTIC DISORDER LIKE Persistent delusion/Capgras syndr...
parmarjuli1412
 
List View Components in Odoo 18 - Odoo Slides
List View Components in Odoo 18 - Odoo Slides
Celine George
 
How to Manage Different Customer Addresses in Odoo 18 Accounting
How to Manage Different Customer Addresses in Odoo 18 Accounting
Celine George
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
Paper 106 | Ambition and Corruption: A Comparative Analysis of ‘The Great Gat...
Paper 106 | Ambition and Corruption: A Comparative Analysis of ‘The Great Gat...
Rajdeep Bavaliya
 
Photo chemistry Power Point Presentation
Photo chemistry Power Point Presentation
mprpgcwa2024
 
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
Mayvel Nadal
 
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
ErlizaRosete
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
A Visual Introduction to the Prophet Jeremiah
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 
K12 Tableau User Group virtual event June 18, 2025
K12 Tableau User Group virtual event June 18, 2025
dogden2
 
Aprendendo Arquitetura Framework Salesforce - Dia 02
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
How payment terms are configured in Odoo 18
How payment terms are configured in Odoo 18
Celine George
 
Tanja Vujicic - PISA for Schools contact Info
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
jutaydeonne
 
Vitamin and Nutritional Deficiencies.pptx
Vitamin and Nutritional Deficiencies.pptx
Vishal Chanalia
 
Peer Teaching Observations During School Internship
Peer Teaching Observations During School Internship
AjayaMohanty7
 
English 3 Quarter 1_LEwithLAS_Week 1.pdf
English 3 Quarter 1_LEwithLAS_Week 1.pdf
DeAsisAlyanajaneH
 
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
SCHIZOPHRENIA OTHER PSYCHOTIC DISORDER LIKE Persistent delusion/Capgras syndr...
SCHIZOPHRENIA OTHER PSYCHOTIC DISORDER LIKE Persistent delusion/Capgras syndr...
parmarjuli1412
 
List View Components in Odoo 18 - Odoo Slides
List View Components in Odoo 18 - Odoo Slides
Celine George
 
How to Manage Different Customer Addresses in Odoo 18 Accounting
How to Manage Different Customer Addresses in Odoo 18 Accounting
Celine George
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
Paper 106 | Ambition and Corruption: A Comparative Analysis of ‘The Great Gat...
Paper 106 | Ambition and Corruption: A Comparative Analysis of ‘The Great Gat...
Rajdeep Bavaliya
 
Photo chemistry Power Point Presentation
Photo chemistry Power Point Presentation
mprpgcwa2024
 
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
Mayvel Nadal
 
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
ErlizaRosete
 

Evalution about programming language part 2

  • 1. 1 Chapter 2 Topics (continued) • Everything for Everybody: PL/I • Two Early Dynamic Languages: APL and SNOBOL • The Beginnings of Data Abstraction: SIMULA 67 • Orthogonal Design: ALGOL 68 • Some Early Descendants of the ALGOs • Programming Based on Logic: Prolog • History's Largest Design Effort: Ada
  • 2. 2 Chapter 2 Topics (continued) • Object-Oriented Programming: Smalltalk • Combining Imperative ad Object-Oriented Features: C++ • An Imperative-Based Object-Oriented Language: Java • Scripting Languages: JavaScript, PHP, and Python • A C-Based Language for the New Millennium: C# • Markup/Programming Hybrid Languages
  • 3. 3 Genealogy of Common Languages
  • 4. 4 Plankalkül • Never implemented • Advanced data structures – floating point, arrays, records • Invariants
  • 5. 5 Plankalkül Syntax • An assignment statement to assign the expression A[4] + 1 to A[5] | A + 1 => A V | 4 5 (subscripts) S | 1.n 1.n (data types)
  • 6. 6 Minimal Hardware Programming: Pseudocodes • What was wrong with using machine code? – Poor readability – Poor modifiable – Expression coding was tedious – Machine deficiencies--no indexing or floating point
  • 7. 7 Pseudocodes: Short Code – Expressions were coded, left to right – Example of operations: 01 – 06 abs value 1n (n+2)nd power 02 ) 07 + 2n (n+2)nd root 03 = 08 pause 4n if <= n 04 / 09 ( 58 print and tab
  • 8. 8 Pseudo codes: Speed coding • Speed coding developed by Backus in 1954 for IBM 701 • Pseudo ops for arithmetic and math functions – Conditional and unconditional branching – Auto-increment registers for array access – Slow! – Only 700 words left for user program
  • 9. 9 Pseudo codes: Related Systems • The UNIVAC Compiling System – Developed by a team led by Grace Hopper – Pseudo code expanded into machine code • (Cambridge University) – developed a method of using blocks of re-locatable addresses to solve the problem of absolute addressing
  • 10. 10 IBM 704 and Fortran • Fortran 0: 1954 - not implemented • Fortran I:1957 – Designed for the new IBM 704, which had index registers and floating point hardware – Environment of development • Computers were small and unreliable • Applications were scientific • No programming methodology or tools • Machine efficiency was most important
  • 11. 11 Design Process of Fortran • Impact of environment on design of Fortran I – No need for dynamic storage – Need good array handling and counting loops – No string handling, decimal arithmetic, or powerful input/output (commercial stuff)
  • 12. 12 Fort ran I Overview • First implemented version of Fortran – Names could have up to six characters – Post-test counting loop (DO) – Formatted I/O – User-defined subprograms – Three-way selection statement (arithmetic IF) – No data typing statements
  • 13. 13 Fortran I Overview (continued) • First implemented version of FORTRAN – No separate compilation – Compiler released in April 1957, after 18 worker-years of effort – Programs larger than 400 lines rarely compiled correctly, mainly due to poor reliability of 704 – Code was very fast – Quickly became widely used
  • 14. 14 Fortran II • Distributed in 1958 – Independent compilation – Fixed the bugs
  • 15. 15 Fortran IV • Evolved during 1960-62 – Explicit type declarations – Logical selection statement – Subprogram names could be parameters – ANSI standard in 1966
  • 16. 16 Fortran 77 • Became the new standard in 1978 – Character string handling – Logical loop control statement – IF-THEN-ELSE statement
  • 17. 17 Fortran 90 • Most significant changes from Fortran 77 – Modules – Dynamic arrays – Pointers – Recursion – CASE statement – Parameter type checking
  • 18. 18 Fortran Evaluation • Highly optimizing compilers (all versions before 90) – Types and storage of all variables are fixed before run time • Dramatically changed forever the way computers are used
  • 19. 19 Functional Programming: LISP • List Processing language – Designed at MIT by McCarthy • AI research needed a language to – Process data in lists (rather than arrays) – Symbolic computation (rather than numeric) • Only two data types: atoms and lists
  • 20. 20 Representation of Two LISP Lists
  • 21. 21 LISP Evaluation • Pioneered functional programming – No need for variables or assignment – Control via recursion and conditional expressions • Still the dominant language for AI • COMMON LISP and Scheme are contemporary dialects of LISP • ML, Miranda, and Haskell are related languages
  • 22. 22 Scheme • Developed at MIT in mid 1970s • Small • Extensive use of static scoping • Functions as first-class entities • Simple syntax (and small size) make it ideal for educational applications
  • 23. 23 COMMON LISP • An effort to combine features of several dialects of LISP into a single language • Large, complex
  • 24. 24 The First Step Toward Sophistication: ALGOL 60 • Environment of development – FORTRAN had (barely) arrived for IBM 70x – Many other languages were being developed, all for specific machines – No portable language; all were machine-dependent – No universal language for communicating algorithms • ALGOL 60 was the result of efforts to design a universal language
  • 25. 25 Early Design Process • ACM and GAMM met for four days for design (May 27 to June 1, 1958) • Goals of the language – Close to mathematical notation – Good for describing algorithms – Must be translatable to machine code
  • 26. 26 ALGOL 58 • Concept of type was formalized • Names could be any length • Arrays could have any number of subscripts • Parameters were separated by mode (in & out) • Subscripts were placed in brackets • Compound statements (begin ... end) • Semicolon as a statement separator • Assignment operator was := • if had an else-if clause • No I/O - “would make it machine dependent”
  • 27. 27 ALGOL 58 Implementation • Not meant to be implemented, but variations of it were (MAD, JOVIAL) • Although IBM was initially enthusiastic, all support was dropped by mid 1959
  • 28. 28 ALGOL 60 Overview • Modified ALGOL 58 at 6-day meeting in Paris • New features – Block structure (local scope) – Two parameter passing methods – Subprogram recursion – Stack-dynamic arrays – Still no I/O and no string handling
  • 29. 29 ALGOL 60 Evaluation • Successes – It was the standard way to publish algorithms for over 20 years – All subsequent imperative languages are based on it – First machine-independent language – First language whose syntax was formally defined (BNF)
  • 30. 30 ALGOL 60 Evaluation (continued) • Failure – Never widely used, especially in U.S. – Reasons • Lack of I/O and the character set made programs non-portable • Too flexible--hard to implement • Entrenchment of Fortran • Formal syntax description • Lack of support from IBM
  • 31. Computerizing Business Records: COBOL 31 • Environment of development – UNIVAC was beginning to use FLOW-MATIC – USAF was beginning to use AIMACO – IBM was developing COMTRAN
  • 32. 32 COBOL Historical Background • Based on FLOW-MATIC • FLOW-MATIC features – Names up to 12 characters, with embedded hyphens – English names for arithmetic operators (no arithmetic expressions) – Data and code were completely separate – Verbs were first word in every statement
  • 33. 33 COBOL Design Process • First Design Meeting (Pentagon) - May 1959 • Design goals – Must look like simple English – Must be easy to use, even if that means it will be less powerful – Must broaden the base of computer users – Must not be biased by current compiler problems • Design committee members were all from computer manufacturers and DoD branches • Design Problems: arithmetic expressions? subscripts? Fights among manufacturers