SlideShare a Scribd company logo
1 
Object-Oriented Programming: Smalltalk 
• Developed at Xerox PARC, initially by Alan Kay, 
later by Adele Goldberg 
• First full implementation of an object-oriented 
language (data abstraction, inheritance, and 
dynamic type binding) 
• Pioneered the graphical user interface design 
• Promoted OOP
2 
Programming Based on Logic: Prolog 
• Based on formal logic 
• Non-procedural 
• Can be summarized as being an intelligent database 
system that uses an inference process to infer the 
truth of given queries 
• Highly inefficient, small application areas
3 
Combining Imperative and Object-Oriented 
Programming: C++ 
• Developed at Bell Labs by Stroustrup in 1980 
• Evolved from C and SIMULA 67 
• Facilities for object-oriented programming, taken partially 
from SIMULA 67 
• Provides exception handling 
• A large and complex language, in part because it supports 
both procedural and OO programming 
• Rapidly grew in popularity, along with OOP 
• ANSI standard approved in November 1997 
• Microsoft’s version (released with .NET in 2002): Managed 
C++ 
– delegates, interfaces, no multiple inheritance
4 
Related OOP Languages 
• Eiffel (designed by Bertrand Meyer - 1992) 
– Not directly derived from any other language 
– Smaller and simpler than C++, but still has most of the 
power 
– Lacked popularity of C++ because many C++ 
enthusiasts were already C programmers 
• Delphi (Borland) 
– Pascal plus features to support OOP 
– More elegant and safer than C++
5 
An Imperative-Based Object-Oriented 
Language: Java 
• Developed at Sun in the early 1990s 
– C and C++ were not satisfactory for embedded 
electronic devices 
• Based on C++ 
– Significantly simplified (does not include struct, 
union, enum, pointer arithmetic, and half of the 
assignment coercions of C++) 
– Supports only OOP 
– Has references, but not pointers 
– Includes support for applets and a form of concurrency
6 
Java Evaluation 
• Eliminated unsafe features of C++ 
• Concurrency features 
• Libraries for applets, GUIs, database access 
• Portable: Java Virtual Machine concept, JIT 
compilers 
• Widely used for WWW pages 
• Use for other areas increased faster than any other 
language 
• Most recent version, 5.0, released in 2004
7 
Scripting Languages for the Web 
• JavaScript 
– A joint venture of Netscape and Sun Micro systems 
– Used in Web programming (client side) to create dynamic HTML 
documents 
– Related to Java only through similar syntax 
• PHP 
– PHP: Hypertext Pre processor 
– Used for Web applications (server side); produces HTML code as 
output 
• Python 
– An OO interpreted scripting language 
– Type checked but dynamically typed 
– Supports CGI and form processing
8 
A C-Based Language for the New 
Millennium: C# 
• Part of the .NET development platform 
• Based on C++ , Java, and Delphi 
• Provides a language for component-based software 
development 
• All .NET languages (C#, Visual BASIC.NET, 
Managed C++, J#.NET, and Jscript.NET) use 
Common Type System (CTS), which provides a 
common class library 
• Likely to become widely used
9 
Markup/Programming Hybrid Languages 
• XSLT 
– extensible Markup Language (XML): a meta markup language 
– extensible Style sheet Language Transformation (XSTL) transforms 
XML documents for display 
– Programming constructs (e.g., looping) 
• JSP 
– Java Server Pages: a collection of technologies to support dynamic 
Web documents 
– servlet: a Java program that resides on a Web server; servlet’s output is 
displayed by the browser
10 
Summary 
• Development, development environment, and 
evaluation of a number of important programming 
languages 
• Perspective into current issues in language design
Ad

Recommended

.Net framework
.Net framework
sanya6900
 
.Net framework
.Net framework
baabtra.com - No. 1 supplier of quality freshers
 
Net overview
Net overview
Shivalik college of engineering
 
Using PowerShell as DSL in .Net applications
Using PowerShell as DSL in .Net applications
Joy George
 
With the Power of Roslyn: Code Analysis
With the Power of Roslyn: Code Analysis
GlobalLogic Ukraine
 
Towards a Commons RDF Java library
Towards a Commons RDF Java library
Sergio Fernández
 
Ruby on Rails Introduction M&P - IT Skill Development Program 07
Ruby on Rails Introduction M&P - IT Skill Development Program 07
Muhammad Sunny ✈
 
Evalution about programming language part 2
Evalution about programming language part 2
Synapseindiappsdevelopment
 
Swt
Swt
Ngoc Anh
 
The Spoofax Language Workbench (SPLASH 2010)
The Spoofax Language Workbench (SPLASH 2010)
lennartkats
 
Open Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering Process
Steve Arnold
 
Language Engineering in the Cloud
Language Engineering in the Cloud
lennartkats
 
Toward a gui remote-sensing environment built over OTB
Toward a gui remote-sensing environment built over OTB
melaneum
 
Rust baksia2014
Rust baksia2014
Reidar Sollid
 
Getting Started with PHP Extensions
Getting Started with PHP Extensions
MichaelBrunoLochemem
 
A sip of Elixir
A sip of Elixir
Emanuele DelBono
 
XSharp
XSharp
Robert van der Hulst
 
Session#1 csharp MTCS
Session#1 csharp MTCS
Ahmad Ehab
 
Swift language - A fast overview of some features
Swift language - A fast overview of some features
Weverton Timoteo
 
Remix Your Language Tooling (JSConf.eu 2012)
Remix Your Language Tooling (JSConf.eu 2012)
lennartkats
 
Client server
Client server
Mike Feltman
 
Varad s karmarkar resume
Varad s karmarkar resume
Varad Karmarkar
 
Repeating History...On Purpose...with Elixir
Repeating History...On Purpose...with Elixir
Barry Jones
 
What's new in .NET Framework v4.5
What's new in .NET Framework v4.5
DSK Chakravarthy
 
Integrated Language Definition Testing: Enabling Test-Driven Language Develop...
Integrated Language Definition Testing: Enabling Test-Driven Language Develop...
lennartkats
 
Exploring metaprogramming using Ruby language
Exploring metaprogramming using Ruby language
Harshal Hayatnagarkar
 
Basic information of C++
Basic information of C++
Fahad Farooq
 
C# 8 in Libraries and Applications
C# 8 in Libraries and Applications
Christian Nagel
 
Programming language
Programming language
MalayKalavadia
 
OBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docx
AleKi2
 

More Related Content

What's hot (20)

Swt
Swt
Ngoc Anh
 
The Spoofax Language Workbench (SPLASH 2010)
The Spoofax Language Workbench (SPLASH 2010)
lennartkats
 
Open Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering Process
Steve Arnold
 
Language Engineering in the Cloud
Language Engineering in the Cloud
lennartkats
 
Toward a gui remote-sensing environment built over OTB
Toward a gui remote-sensing environment built over OTB
melaneum
 
Rust baksia2014
Rust baksia2014
Reidar Sollid
 
Getting Started with PHP Extensions
Getting Started with PHP Extensions
MichaelBrunoLochemem
 
A sip of Elixir
A sip of Elixir
Emanuele DelBono
 
XSharp
XSharp
Robert van der Hulst
 
Session#1 csharp MTCS
Session#1 csharp MTCS
Ahmad Ehab
 
Swift language - A fast overview of some features
Swift language - A fast overview of some features
Weverton Timoteo
 
Remix Your Language Tooling (JSConf.eu 2012)
Remix Your Language Tooling (JSConf.eu 2012)
lennartkats
 
Client server
Client server
Mike Feltman
 
Varad s karmarkar resume
Varad s karmarkar resume
Varad Karmarkar
 
Repeating History...On Purpose...with Elixir
Repeating History...On Purpose...with Elixir
Barry Jones
 
What's new in .NET Framework v4.5
What's new in .NET Framework v4.5
DSK Chakravarthy
 
Integrated Language Definition Testing: Enabling Test-Driven Language Develop...
Integrated Language Definition Testing: Enabling Test-Driven Language Develop...
lennartkats
 
Exploring metaprogramming using Ruby language
Exploring metaprogramming using Ruby language
Harshal Hayatnagarkar
 
Basic information of C++
Basic information of C++
Fahad Farooq
 
C# 8 in Libraries and Applications
C# 8 in Libraries and Applications
Christian Nagel
 
The Spoofax Language Workbench (SPLASH 2010)
The Spoofax Language Workbench (SPLASH 2010)
lennartkats
 
Open Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering Process
Steve Arnold
 
Language Engineering in the Cloud
Language Engineering in the Cloud
lennartkats
 
Toward a gui remote-sensing environment built over OTB
Toward a gui remote-sensing environment built over OTB
melaneum
 
Getting Started with PHP Extensions
Getting Started with PHP Extensions
MichaelBrunoLochemem
 
Session#1 csharp MTCS
Session#1 csharp MTCS
Ahmad Ehab
 
Swift language - A fast overview of some features
Swift language - A fast overview of some features
Weverton Timoteo
 
Remix Your Language Tooling (JSConf.eu 2012)
Remix Your Language Tooling (JSConf.eu 2012)
lennartkats
 
Varad s karmarkar resume
Varad s karmarkar resume
Varad Karmarkar
 
Repeating History...On Purpose...with Elixir
Repeating History...On Purpose...with Elixir
Barry Jones
 
What's new in .NET Framework v4.5
What's new in .NET Framework v4.5
DSK Chakravarthy
 
Integrated Language Definition Testing: Enabling Test-Driven Language Develop...
Integrated Language Definition Testing: Enabling Test-Driven Language Develop...
lennartkats
 
Exploring metaprogramming using Ruby language
Exploring metaprogramming using Ruby language
Harshal Hayatnagarkar
 
Basic information of C++
Basic information of C++
Fahad Farooq
 
C# 8 in Libraries and Applications
C# 8 in Libraries and Applications
Christian Nagel
 

Similar to Evalution about programming language part 1 (20)

Programming language
Programming language
MalayKalavadia
 
OBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docx
AleKi2
 
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
 
Chapter13
Chapter13
Izaham
 
Programming language
Programming language
Dhani Ahmad
 
Top 10 Programming Languages In 2019 | Top 10 Programming Languages To Learn ...
Top 10 Programming Languages In 2019 | Top 10 Programming Languages To Learn ...
Simplilearn
 
Programming languages
Programming languages
Simon Mui
 
CSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program Development
Yhal Htet Aung
 
The different kind of programming language
The different kind of programming language
Md Amran
 
Overview of Coding Languages
Overview of Coding Languages
GlowTouch
 
Introduction to programming world
Introduction to programming world
Jaskaran Singh
 
Computer languages
Computer languages
wow_so
 
History of Computer Programming Languages.docx
History of Computer Programming Languages.docx
JawaidAbdulHameed
 
History of Computer Programming Languages.docx
History of Computer Programming Languages.docx
JawaidAbdulHameed
 
Presentation_Science_about current scenario.pptx
Presentation_Science_about current scenario.pptx
koodalcsc
 
Kshitij
Kshitij
Neelkanth Institute of Technology Meerut
 
RK_Presentation_Science_current technology.pptx
RK_Presentation_Science_current technology.pptx
koodalcsc
 
Top Programming Languages of 2020
Top Programming Languages of 2020
Ikbal Ahmed
 
Technology Roundup - Programming Languages & Paradigms
Technology Roundup - Programming Languages & Paradigms
Ashish Belagali
 
OBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docx
AleKi2
 
Chapter13
Chapter13
Izaham
 
Programming language
Programming language
Dhani Ahmad
 
Top 10 Programming Languages In 2019 | Top 10 Programming Languages To Learn ...
Top 10 Programming Languages In 2019 | Top 10 Programming Languages To Learn ...
Simplilearn
 
Programming languages
Programming languages
Simon Mui
 
CSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program Development
Yhal Htet Aung
 
The different kind of programming language
The different kind of programming language
Md Amran
 
Overview of Coding Languages
Overview of Coding Languages
GlowTouch
 
Introduction to programming world
Introduction to programming world
Jaskaran Singh
 
Computer languages
Computer languages
wow_so
 
History of Computer Programming Languages.docx
History of Computer Programming Languages.docx
JawaidAbdulHameed
 
History of Computer Programming Languages.docx
History of Computer Programming Languages.docx
JawaidAbdulHameed
 
Presentation_Science_about current scenario.pptx
Presentation_Science_about current scenario.pptx
koodalcsc
 
RK_Presentation_Science_current technology.pptx
RK_Presentation_Science_current technology.pptx
koodalcsc
 
Top Programming Languages of 2020
Top Programming Languages of 2020
Ikbal Ahmed
 
Technology Roundup - Programming Languages & Paradigms
Technology Roundup - Programming Languages & Paradigms
Ashish Belagali
 
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)

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
 
Public Health For The 21st Century 1st Edition Judy Orme Jane Powell
Public Health For The 21st Century 1st Edition Judy Orme Jane Powell
trjnesjnqg7801
 
Tanja Vujicic - PISA for Schools contact Info
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
Kweku Zurek
 
Q1_ENGLISH_PPT_WEEK 1 power point grade 3 Quarter 1 week 1
Q1_ENGLISH_PPT_WEEK 1 power point grade 3 Quarter 1 week 1
jutaydeonne
 
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
 
How to Customize Quotation Layouts in Odoo 18
How to Customize Quotation Layouts in Odoo 18
Celine George
 
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
SHERAZ AHMAD LONE
 
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
jutaydeonne
 
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
nabilahk908
 
2025 June Year 9 Presentation: Subject selection.pptx
2025 June Year 9 Presentation: Subject selection.pptx
mansk2
 
Gladiolous Cultivation practices by AKL.pdf
Gladiolous Cultivation practices by AKL.pdf
kushallamichhame
 
Birnagar High School Platinum Jubilee Quiz.pptx
Birnagar High School Platinum Jubilee Quiz.pptx
Sourav Kr Podder
 
How to use search fetch method in Odoo 18
How to use search fetch method in Odoo 18
Celine George
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
OBSESSIVE COMPULSIVE DISORDER.pptx IN 5TH SEMESTER B.SC NURSING, 2ND YEAR GNM...
OBSESSIVE COMPULSIVE DISORDER.pptx IN 5TH SEMESTER B.SC NURSING, 2ND YEAR GNM...
parmarjuli1412
 
Peer Teaching Observations During School Internship
Peer Teaching Observations During School Internship
AjayaMohanty7
 
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
Mayvel Nadal
 
Paper 107 | From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi...
Paper 107 | From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi...
Rajdeep Bavaliya
 
A Visual Introduction to the Prophet Jeremiah
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 
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
 
Public Health For The 21st Century 1st Edition Judy Orme Jane Powell
Public Health For The 21st Century 1st Edition Judy Orme Jane Powell
trjnesjnqg7801
 
Tanja Vujicic - PISA for Schools contact Info
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
Kweku Zurek
 
Q1_ENGLISH_PPT_WEEK 1 power point grade 3 Quarter 1 week 1
Q1_ENGLISH_PPT_WEEK 1 power point grade 3 Quarter 1 week 1
jutaydeonne
 
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
 
How to Customize Quotation Layouts in Odoo 18
How to Customize Quotation Layouts in Odoo 18
Celine George
 
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
SHERAZ AHMAD LONE
 
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
jutaydeonne
 
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
nabilahk908
 
2025 June Year 9 Presentation: Subject selection.pptx
2025 June Year 9 Presentation: Subject selection.pptx
mansk2
 
Gladiolous Cultivation practices by AKL.pdf
Gladiolous Cultivation practices by AKL.pdf
kushallamichhame
 
Birnagar High School Platinum Jubilee Quiz.pptx
Birnagar High School Platinum Jubilee Quiz.pptx
Sourav Kr Podder
 
How to use search fetch method in Odoo 18
How to use search fetch method in Odoo 18
Celine George
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
OBSESSIVE COMPULSIVE DISORDER.pptx IN 5TH SEMESTER B.SC NURSING, 2ND YEAR GNM...
OBSESSIVE COMPULSIVE DISORDER.pptx IN 5TH SEMESTER B.SC NURSING, 2ND YEAR GNM...
parmarjuli1412
 
Peer Teaching Observations During School Internship
Peer Teaching Observations During School Internship
AjayaMohanty7
 
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
Mayvel Nadal
 
Paper 107 | From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi...
Paper 107 | From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi...
Rajdeep Bavaliya
 
A Visual Introduction to the Prophet Jeremiah
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 

Evalution about programming language part 1

  • 1. 1 Object-Oriented Programming: Smalltalk • Developed at Xerox PARC, initially by Alan Kay, later by Adele Goldberg • First full implementation of an object-oriented language (data abstraction, inheritance, and dynamic type binding) • Pioneered the graphical user interface design • Promoted OOP
  • 2. 2 Programming Based on Logic: Prolog • Based on formal logic • Non-procedural • Can be summarized as being an intelligent database system that uses an inference process to infer the truth of given queries • Highly inefficient, small application areas
  • 3. 3 Combining Imperative and Object-Oriented Programming: C++ • Developed at Bell Labs by Stroustrup in 1980 • Evolved from C and SIMULA 67 • Facilities for object-oriented programming, taken partially from SIMULA 67 • Provides exception handling • A large and complex language, in part because it supports both procedural and OO programming • Rapidly grew in popularity, along with OOP • ANSI standard approved in November 1997 • Microsoft’s version (released with .NET in 2002): Managed C++ – delegates, interfaces, no multiple inheritance
  • 4. 4 Related OOP Languages • Eiffel (designed by Bertrand Meyer - 1992) – Not directly derived from any other language – Smaller and simpler than C++, but still has most of the power – Lacked popularity of C++ because many C++ enthusiasts were already C programmers • Delphi (Borland) – Pascal plus features to support OOP – More elegant and safer than C++
  • 5. 5 An Imperative-Based Object-Oriented Language: Java • Developed at Sun in the early 1990s – C and C++ were not satisfactory for embedded electronic devices • Based on C++ – Significantly simplified (does not include struct, union, enum, pointer arithmetic, and half of the assignment coercions of C++) – Supports only OOP – Has references, but not pointers – Includes support for applets and a form of concurrency
  • 6. 6 Java Evaluation • Eliminated unsafe features of C++ • Concurrency features • Libraries for applets, GUIs, database access • Portable: Java Virtual Machine concept, JIT compilers • Widely used for WWW pages • Use for other areas increased faster than any other language • Most recent version, 5.0, released in 2004
  • 7. 7 Scripting Languages for the Web • JavaScript – A joint venture of Netscape and Sun Micro systems – Used in Web programming (client side) to create dynamic HTML documents – Related to Java only through similar syntax • PHP – PHP: Hypertext Pre processor – Used for Web applications (server side); produces HTML code as output • Python – An OO interpreted scripting language – Type checked but dynamically typed – Supports CGI and form processing
  • 8. 8 A C-Based Language for the New Millennium: C# • Part of the .NET development platform • Based on C++ , Java, and Delphi • Provides a language for component-based software development • All .NET languages (C#, Visual BASIC.NET, Managed C++, J#.NET, and Jscript.NET) use Common Type System (CTS), which provides a common class library • Likely to become widely used
  • 9. 9 Markup/Programming Hybrid Languages • XSLT – extensible Markup Language (XML): a meta markup language – extensible Style sheet Language Transformation (XSTL) transforms XML documents for display – Programming constructs (e.g., looping) • JSP – Java Server Pages: a collection of technologies to support dynamic Web documents – servlet: a Java program that resides on a Web server; servlet’s output is displayed by the browser
  • 10. 10 Summary • Development, development environment, and evaluation of a number of important programming languages • Perspective into current issues in language design