SlideShare a Scribd company logo
1 of 33
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

More Related Content

What's hot

Programming language
Programming languageProgramming language
Programming languageMakku-Sama
 
CH # 1 preliminaries
CH # 1 preliminariesCH # 1 preliminaries
CH # 1 preliminariesMunawar Ahmed
 
R meet up slides.pptx
R meet up slides.pptxR meet up slides.pptx
R meet up slides.pptxCorey Sparks
 
Programming languages
Programming languagesProgramming languages
Programming languagesMuntasirMuhit
 
An overview of computers and programming languages
An overview of computers and programming languages An overview of computers and programming languages
An overview of computers and programming languages Ahmad Idrees
 
Introduction to R programming
Introduction to R programmingIntroduction to R programming
Introduction to R programmingVictor Ordu
 

What's hot (7)

Programming language
Programming languageProgramming language
Programming language
 
CH # 1 preliminaries
CH # 1 preliminariesCH # 1 preliminaries
CH # 1 preliminaries
 
R meet up slides.pptx
R meet up slides.pptxR meet up slides.pptx
R meet up slides.pptx
 
Resume
ResumeResume
Resume
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
An overview of computers and programming languages
An overview of computers and programming languages An overview of computers and programming languages
An overview of computers and programming languages
 
Introduction to R programming
Introduction to R programmingIntroduction to R programming
Introduction to R programming
 

Similar to Evalution about programming language part 2

2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdf2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdfHILALJAMIRUDDINABDUL
 
2 evolution of the major programming languages
2 evolution of the major programming languages2 evolution of the major programming languages
2 evolution of the major programming languagesjigeno
 
PYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptxPYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptxshalini s
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinalProf. Wim Van Criekinge
 
Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...InfinIT - Innovationsnetværket for it
 
02-chapter-1.ppt
02-chapter-1.ppt02-chapter-1.ppt
02-chapter-1.pptJoel Manio
 
Top schools in gudgao
Top schools in gudgaoTop schools in gudgao
Top schools in gudgaoEdhole.com
 
CSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to ComputersCSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to ComputersDhiviya Rose
 
Top schools in gudgao
Top schools in gudgaoTop schools in gudgao
Top schools in gudgaoEdhole.com
 
Introduction to course
Introduction to courseIntroduction to course
Introduction to coursenikit meshram
 
Top schools in noida
Top schools in noidaTop schools in noida
Top schools in noidaEdhole.com
 

Similar to Evalution about programming language part 2 (20)

2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdf2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdf
 
pl10ch2.ppt
pl10ch2.pptpl10ch2.ppt
pl10ch2.ppt
 
2 evolution of the major programming languages
2 evolution of the major programming languages2 evolution of the major programming languages
2 evolution of the major programming languages
 
PYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptxPYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptx
 
Programming skills
Programming skillsProgramming skills
Programming skills
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdfEvolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdfEvolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
 
Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...
 
Plc part 1
Plc part 1Plc part 1
Plc part 1
 
Paradigms
ParadigmsParadigms
Paradigms
 
Introduction to multicore .ppt
Introduction to multicore .pptIntroduction to multicore .ppt
Introduction to multicore .ppt
 
02-chapter-1.ppt
02-chapter-1.ppt02-chapter-1.ppt
02-chapter-1.ppt
 
P1 2018 python
P1 2018 pythonP1 2018 python
P1 2018 python
 
2. pl domain
2. pl domain2. pl domain
2. pl domain
 
Top schools in gudgao
Top schools in gudgaoTop schools in gudgao
Top schools in gudgao
 
CSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to ComputersCSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to Computers
 
Top schools in gudgao
Top schools in gudgaoTop schools in gudgao
Top schools in gudgao
 
Introduction to course
Introduction to courseIntroduction to course
Introduction to course
 
Top schools in noida
Top schools in noidaTop schools in noida
Top schools in noida
 

More from Synapseindiappsdevelopment

Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapseindiappsdevelopment
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseindiappsdevelopment
 
SynapseIndia dotnet development platform overview
SynapseIndia  dotnet development platform overviewSynapseIndia  dotnet development platform overview
SynapseIndia dotnet development platform overviewSynapseindiappsdevelopment
 
SynapseIndia dotnet web applications development
SynapseIndia  dotnet web applications developmentSynapseIndia  dotnet web applications development
SynapseIndia dotnet web applications developmentSynapseindiappsdevelopment
 
SynapseIndia dotnet website security development
SynapseIndia  dotnet website security developmentSynapseIndia  dotnet website security development
SynapseIndia dotnet website security developmentSynapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseindiappsdevelopment
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architectureSynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architectureSynapseindiappsdevelopment
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseindiappsdevelopment
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseindiappsdevelopment
 

More from Synapseindiappsdevelopment (20)

Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapse india elance top in demand in it skills
Synapse india elance top in demand in it skills
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture module
 
SynapseIndia dotnet module development part 1
SynapseIndia  dotnet module development part 1SynapseIndia  dotnet module development part 1
SynapseIndia dotnet module development part 1
 
SynapseIndia dotnet framework library
SynapseIndia  dotnet framework librarySynapseIndia  dotnet framework library
SynapseIndia dotnet framework library
 
SynapseIndia dotnet development platform overview
SynapseIndia  dotnet development platform overviewSynapseIndia  dotnet development platform overview
SynapseIndia dotnet development platform overview
 
SynapseIndia dotnet development framework
SynapseIndia  dotnet development frameworkSynapseIndia  dotnet development framework
SynapseIndia dotnet development framework
 
SynapseIndia dotnet web applications development
SynapseIndia  dotnet web applications developmentSynapseIndia  dotnet web applications development
SynapseIndia dotnet web applications development
 
SynapseIndia dotnet website security development
SynapseIndia  dotnet website security developmentSynapseIndia  dotnet website security development
SynapseIndia dotnet website security development
 
SynapseIndia mobile build apps management
SynapseIndia mobile build apps managementSynapseIndia mobile build apps management
SynapseIndia mobile build apps management
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architecture
 
SynapseIndia java and .net development
SynapseIndia java and .net developmentSynapseIndia java and .net development
SynapseIndia java and .net development
 
SynapseIndia dotnet development panel control
SynapseIndia dotnet development panel controlSynapseIndia dotnet development panel control
SynapseIndia dotnet development panel control
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client library
 
SynapseIndia php web development
SynapseIndia php web developmentSynapseIndia php web development
SynapseIndia php web development
 
SynapseIndia mobile apps architecture
SynapseIndia mobile apps architectureSynapseIndia mobile apps architecture
SynapseIndia mobile apps architecture
 
SynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architectureSynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architecture
 
SynapseIndia mobile apps
SynapseIndia mobile appsSynapseIndia mobile apps
SynapseIndia mobile apps
 
SynapseIndia dotnet development
SynapseIndia dotnet developmentSynapseIndia dotnet development
SynapseIndia dotnet development
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseIndia dotnet client library Development
SynapseIndia dotnet client library Development
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically development
 

Recently uploaded

KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 

Recently uploaded (20)

KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 

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