SlideShare a Scribd company logo
1 of 16
Programming Domains
1. Scientific Applications
Typically, scientific applications have
simple data structures but require large
numbers of floating-point arithmetic
computations.
For some scientific applications where
efficiency is the primary concern, like
those that were common in the 1950’s
and 1960’s, no subsequent language is
significantly better than FORTRAN.
.
Programming Domains (con’d)
Business Applications
The use of computers for business applications
began in the 1950’s.
The first successful high-level language for
business was COBOL which appeared in 1960.
Business languages are characterized, according
to the needs of the application, by elaborate
input and output facilities and decimal data
types.
With the advent of microcomputers came new
ways of businesses, especially small
businesses, to use computers. Two specific
tools, spreadsheet systems and database
systems, were developed for business and now
are widely used.
Programming Domains (con’d)
Artificial Intelligence
AI is a broad area of computer applications characterized by
the absence of exact algorithms and the use of symbolic
computations rather than numeric computation.
Symbolic computation means that symbols, consisting of
names rather than numbers, are manipulated.
The first widely used programming language developed for AI
applications was the functional language LISP (Scheme)
which appeared in 1959.
An alternative approach to these applications appeared in the
early 1970’s: logic programming using Prolog language
Programming Domains (con’d)
Systems Programming Languages
The operating system and all of the programming
support tools of a computer system are collectively
known as its systems software.
Systems software is used almost continuously and
therefore must have execution efficiency.
A language for this domain must have low-level features
that allow the software to external devices to be
written.
In the 1960’s and 1970’s, some computer
manufacturers, such as IBM, Digital, and Burroughs
(now UNISYS) developed special machine-oriented
high level languages for systems software on their
machines. For IBM mainframe computers, the
language was PL/S, a dialect of PL/I; for Digital, it Is
BLISS, a language at a level just above assembly
language; for Burroughs, it was Extended Algol.
The UNIX operating system is written almost entirely in
C, which was made it relatively easy to port, or move,
to different machines.
Programming Domains (con’d)
Very High-level Languages (VHLLs)
The languages in the category called very high-level
have evolved slowly over the past 25 years.
The various scripting languages for UNIX are
examples of VHLLs. A scripting language is one
that is used by putting a list of commands, called
script, in a file to be executed.
The first of these languages, named shell, began as
a small collection of commands that were
interpreted to be calls to system subprograms that
performed utility functions, such as file
management and simple file filtering.
Other VHLLs are awk, for report generation, tcl
combined with tk, which provide a method of
building X Windows applications. The perl is a
combination of shell and awk.
Programming Domains (con’d)
• Special-Purpose Languages
– A host of special-purpose languages have appeared over
the past 40 years.
– They range from RPG, which is used to produce
business reports, to APT, which is used for instructing
programmable machine tools, to GPSS, which is used for
systems simulation.
Language Evaluation Criteria
• Readability
• Writability
• Reliability
• Cost
Readability
• The ease with which programs can be read and understood.
• Overall Simplicity – A language that has a large number of basic
components is more difficult to learn than one with a small number of basic
componenets.
examples: C
count = count + 1
count += 1
count++
++count
• Orthogonality – in a programming language means that a relatively small
set of primitive constructs can be combines in a relatively small number of
ways to build the control and data structures of the language
– Orthogonality is closely related to simplicity. The more orthogonal the design of a
language, the fewer exceptions the language rules require. Fewer exceptions
means a higher degree of regularity in the design, which makes the language
easier to learn.
Readability
• Control Structures. The structured
programming revolution of the 1970s was
a reaction to the poor readability caused
by the limited control statements of some
of the languages of the 1950s and 1960s.
– Examples
• Goto statements vs Loops
Readability
• Data Types and Structures.
– The presence of adequate facilities for
defining data types and data structures in a
language is another significant aid to
readability.
Readability
• Syntax Considerations
– The syntax, or form, of the elements of a
language has a significant effect on the
readability of programs.
– Examples:
• Identifier Forms (length, case sensitivity)
• Special Words (* & + %)
• Form and Meaning (Appearance does not always
suggest their function?)
Writability
Writability is a measure of how easily
a language can be used to create
programs for a chosen problem
domain.
Writability
• Simplicity and Orthogonality
• Support for Abstraction
– Abstraction means the ability to define and
then use complicated structures or operations
in ways that allow many of the details to be
ignored.
– Process abstraction
– Data abstraction
Writability
• Expressivity
– Expressivity in a language means that there
are very powerful operators that allow a great
dean of computation to be accomplished with
a very small program.
Reliability
• Type checking
– Type checking is simply testing for type errors
in a given program, either by the compiler or
during program execution
• Exception Handling
• Aliasing
• Readability and Writability
Cost
• The ultimate total cost of a programming
language is a function of many of its
characteristics.
– Cost of training programmers
– Cost of writing programs in the language
– Cost of compiling programs
– Cost of executing programs
– Cost of compilers
– Cost of poor reliability

More Related Content

Similar to 8505548.ppt

Introduction Programming Languages
Introduction Programming LanguagesIntroduction Programming Languages
Introduction Programming LanguagesManish Kharotia
 
Programming And Programming languages.pptx
Programming And Programming languages.pptxProgramming And Programming languages.pptx
Programming And Programming languages.pptxRohan Basnet
 
Principles of Programming Languages - Lecture Notes
Principles of Programming Languages -  Lecture NotesPrinciples of Programming Languages -  Lecture Notes
Principles of Programming Languages - Lecture Notessuthi
 
Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Krishna Sai
 
CH 01.pptx
CH 01.pptxCH 01.pptx
CH 01.pptxObsa2
 
CSCorganization of programming languages
CSCorganization of programming languagesCSCorganization of programming languages
CSCorganization of programming languagesOluwafolakeOjo
 
Program & language generation
Program & language generationProgram & language generation
Program & language generationBuxoo Abdullah
 
Lecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptxLecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptxChewe Lulembo
 
Cmp104 lec 6 computer lang
Cmp104 lec 6 computer langCmp104 lec 6 computer lang
Cmp104 lec 6 computer langkapil078
 
Cmp104 lec 6 computer lang
Cmp104 lec 6 computer langCmp104 lec 6 computer lang
Cmp104 lec 6 computer langkapil078
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languagesVarun Garg
 
Introduction to computer programming
Introduction to computer programming Introduction to computer programming
Introduction to computer programming VanessaBuensalida
 

Similar to 8505548.ppt (20)

1. reason why study spl
1. reason why study spl1. reason why study spl
1. reason why study spl
 
Assignment on basic programming language
Assignment on  basic programming languageAssignment on  basic programming language
Assignment on basic programming language
 
Introduction Programming Languages
Introduction Programming LanguagesIntroduction Programming Languages
Introduction Programming Languages
 
Programming And Programming languages.pptx
Programming And Programming languages.pptxProgramming And Programming languages.pptx
Programming And Programming languages.pptx
 
Principles of Programming Languages - Lecture Notes
Principles of Programming Languages -  Lecture NotesPrinciples of Programming Languages -  Lecture Notes
Principles of Programming Languages - Lecture Notes
 
Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-
 
CH 01.pptx
CH 01.pptxCH 01.pptx
CH 01.pptx
 
CSCorganization of programming languages
CSCorganization of programming languagesCSCorganization of programming languages
CSCorganization of programming languages
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Programming language
Programming languageProgramming language
Programming language
 
Program & language generation
Program & language generationProgram & language generation
Program & language generation
 
Lecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptxLecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptx
 
Cmp104 lec 6 computer lang
Cmp104 lec 6 computer langCmp104 lec 6 computer lang
Cmp104 lec 6 computer lang
 
Cmp104 lec 6 computer lang
Cmp104 lec 6 computer langCmp104 lec 6 computer lang
Cmp104 lec 6 computer lang
 
Rajesh ppt
Rajesh pptRajesh ppt
Rajesh ppt
 
programming.pptx
programming.pptxprogramming.pptx
programming.pptx
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
 
sege.pdf
sege.pdfsege.pdf
sege.pdf
 
Introduction to computer programming
Introduction to computer programming Introduction to computer programming
Introduction to computer programming
 
Unit 1
Unit 1Unit 1
Unit 1
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 

8505548.ppt

  • 1. Programming Domains 1. Scientific Applications Typically, scientific applications have simple data structures but require large numbers of floating-point arithmetic computations. For some scientific applications where efficiency is the primary concern, like those that were common in the 1950’s and 1960’s, no subsequent language is significantly better than FORTRAN. .
  • 2. Programming Domains (con’d) Business Applications The use of computers for business applications began in the 1950’s. The first successful high-level language for business was COBOL which appeared in 1960. Business languages are characterized, according to the needs of the application, by elaborate input and output facilities and decimal data types. With the advent of microcomputers came new ways of businesses, especially small businesses, to use computers. Two specific tools, spreadsheet systems and database systems, were developed for business and now are widely used.
  • 3. Programming Domains (con’d) Artificial Intelligence AI is a broad area of computer applications characterized by the absence of exact algorithms and the use of symbolic computations rather than numeric computation. Symbolic computation means that symbols, consisting of names rather than numbers, are manipulated. The first widely used programming language developed for AI applications was the functional language LISP (Scheme) which appeared in 1959. An alternative approach to these applications appeared in the early 1970’s: logic programming using Prolog language
  • 4. Programming Domains (con’d) Systems Programming Languages The operating system and all of the programming support tools of a computer system are collectively known as its systems software. Systems software is used almost continuously and therefore must have execution efficiency. A language for this domain must have low-level features that allow the software to external devices to be written. In the 1960’s and 1970’s, some computer manufacturers, such as IBM, Digital, and Burroughs (now UNISYS) developed special machine-oriented high level languages for systems software on their machines. For IBM mainframe computers, the language was PL/S, a dialect of PL/I; for Digital, it Is BLISS, a language at a level just above assembly language; for Burroughs, it was Extended Algol. The UNIX operating system is written almost entirely in C, which was made it relatively easy to port, or move, to different machines.
  • 5. Programming Domains (con’d) Very High-level Languages (VHLLs) The languages in the category called very high-level have evolved slowly over the past 25 years. The various scripting languages for UNIX are examples of VHLLs. A scripting language is one that is used by putting a list of commands, called script, in a file to be executed. The first of these languages, named shell, began as a small collection of commands that were interpreted to be calls to system subprograms that performed utility functions, such as file management and simple file filtering. Other VHLLs are awk, for report generation, tcl combined with tk, which provide a method of building X Windows applications. The perl is a combination of shell and awk.
  • 6. Programming Domains (con’d) • Special-Purpose Languages – A host of special-purpose languages have appeared over the past 40 years. – They range from RPG, which is used to produce business reports, to APT, which is used for instructing programmable machine tools, to GPSS, which is used for systems simulation.
  • 7. Language Evaluation Criteria • Readability • Writability • Reliability • Cost
  • 8. Readability • The ease with which programs can be read and understood. • Overall Simplicity – A language that has a large number of basic components is more difficult to learn than one with a small number of basic componenets. examples: C count = count + 1 count += 1 count++ ++count • Orthogonality – in a programming language means that a relatively small set of primitive constructs can be combines in a relatively small number of ways to build the control and data structures of the language – Orthogonality is closely related to simplicity. The more orthogonal the design of a language, the fewer exceptions the language rules require. Fewer exceptions means a higher degree of regularity in the design, which makes the language easier to learn.
  • 9. Readability • Control Structures. The structured programming revolution of the 1970s was a reaction to the poor readability caused by the limited control statements of some of the languages of the 1950s and 1960s. – Examples • Goto statements vs Loops
  • 10. Readability • Data Types and Structures. – The presence of adequate facilities for defining data types and data structures in a language is another significant aid to readability.
  • 11. Readability • Syntax Considerations – The syntax, or form, of the elements of a language has a significant effect on the readability of programs. – Examples: • Identifier Forms (length, case sensitivity) • Special Words (* & + %) • Form and Meaning (Appearance does not always suggest their function?)
  • 12. Writability Writability is a measure of how easily a language can be used to create programs for a chosen problem domain.
  • 13. Writability • Simplicity and Orthogonality • Support for Abstraction – Abstraction means the ability to define and then use complicated structures or operations in ways that allow many of the details to be ignored. – Process abstraction – Data abstraction
  • 14. Writability • Expressivity – Expressivity in a language means that there are very powerful operators that allow a great dean of computation to be accomplished with a very small program.
  • 15. Reliability • Type checking – Type checking is simply testing for type errors in a given program, either by the compiler or during program execution • Exception Handling • Aliasing • Readability and Writability
  • 16. Cost • The ultimate total cost of a programming language is a function of many of its characteristics. – Cost of training programmers – Cost of writing programs in the language – Cost of compiling programs – Cost of executing programs – Cost of compilers – Cost of poor reliability