SlideShare a Scribd company logo
1 of 12
Modern Programming Languages
(CS208)
Lecture 1 & 2
By:
Mr. Zain Ul Islam Adil
Department of Computing
ABASYN UNIVERSITY ISLAMABAD CAMPUS
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
1
• Introduction
• Why study programming languages?
• Textbooks
• Reasons to study concepts of Modern Programming
Language (MPL)
• Programming Domains
• Language Evaluation Criteria
• Influence on Language Design
• Outcomes
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
2
Outline
Introduction
• A program is a set of instructions that help computer to perform tasks. The languages that are used to write a program or
set of instructions are called "programming languages". Programming languages are broadly categorized into three types:
• Machine level language
Machine language is lowest level of programming language. It handles binary data i.E. 0’s and 1’s
500=111110100
• Assembly level language
It consists of commands
SUB AX, BX=0010101110000011
• High-level language
The instructions in this language are called codes or scripts.
if age < 18 {printf("Welcome to MPL Class");}
else{ printf("Sorry! You are not allowed in MPL class");}
}
3
Why study programming languages?
• To improve the ability to develop effective algorithms.
• To improve the use of familiar languages.
• To increase the vocabulary of useful programming Constructs.
• To allow a better choice of programming language.
• To make it easier to learn a new language.
• To make it easier to design a new language.
• To simulate useful features in languages that lack them.
• To make better use of language technology wherever it Appears.
4
Textbooks:
• Concepts of programming languages, 6th edition, Robert W.
Sebesta
• Modern programming languages, Franklin, Beedle & assoc. (2010)
• Modern software development using java, Paul T.Tymann & G.
Michael schneider
5
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
Reasons to study concepts MPL:
• Increased capacity to express ideas
• Improved background for choosing appropriate languages
• Increased ability to learn new languages
• Better use of languages that are already known
• Overall advancement of computing
(Fortran over ALGOL )
6
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
Programming domains
• Programming domains
i. Scientific applications
The early high level programming languages invented for scientific
applications like fortran & ALGOL 60.
ii. Business Applications
iii. Artificial Intelligence
iv. System Programming
v. Web Software
7
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
Language evaluation criteria 1/2
• Clarity, simplicity, and unity.
• Orthogonality.
• Naturalness for the application.
• Support of abstraction.
• Ease of program verification.
• Programming environments.
• Portability of programs.
8
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
Language evaluation criteria 2/2
Cost of use
• Cost of execution.
• Cost of program translation.
• Cost of program creation, testing, and use.
• Cost of program maintenance.
9
Influence on language design
Motivation:
A specific purpose provides focus for language designers; It helps to set criteria
for making design decisions. A specific, motivating application also helps to solve
one Of the hardest problems in programming language design: Deciding which
features to leave out.
10
Outcomes:
• Factor which influence the programmer
• Qualities of good programming language
• Syntax of good programming language
11
Reference:
• Concepts of programming languages, 8th edition, Robert W. Sebesta
12

More Related Content

Similar to Lecture_1 & 2.pptx

Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenation
Ashwini Awatare
 
C Programming Lecture 1 - Introduction to C.pptx
C Programming Lecture 1 - Introduction to C.pptxC Programming Lecture 1 - Introduction to C.pptx
C Programming Lecture 1 - Introduction to C.pptx
Murali M
 
Python-unit -I.pptx
Python-unit -I.pptxPython-unit -I.pptx
Python-unit -I.pptx
crAmth
 

Similar to Lecture_1 & 2.pptx (20)

Evolution and History of Programming Languages - Software/Hardware/System
Evolution and History of Programming Languages - Software/Hardware/SystemEvolution and History of Programming Languages - Software/Hardware/System
Evolution and History of Programming Languages - Software/Hardware/System
 
Advance C# Programming Part 1.pdf
Advance C# Programming Part 1.pdfAdvance C# Programming Part 1.pdf
Advance C# Programming Part 1.pdf
 
Chapter 1 java
Chapter 1 javaChapter 1 java
Chapter 1 java
 
Android is a mobile operating system developed by Google, known for its open-...
Android is a mobile operating system developed by Google, known for its open-...Android is a mobile operating system developed by Google, known for its open-...
Android is a mobile operating system developed by Google, known for its open-...
 
Programming Language
Programming LanguageProgramming Language
Programming Language
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
Advance C# Programming Part 1.pptx
Advance C# Programming Part 1.pptxAdvance C# Programming Part 1.pptx
Advance C# Programming Part 1.pptx
 
Programming landuages
Programming landuagesProgramming landuages
Programming landuages
 
Programming language
Programming languageProgramming language
Programming language
 
Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenation
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issue
 
C Programming Lecture 1 - Introduction to C.pptx
C Programming Lecture 1 - Introduction to C.pptxC Programming Lecture 1 - Introduction to C.pptx
C Programming Lecture 1 - Introduction to C.pptx
 
Creating a textual domain specific language
Creating a textual domain specific languageCreating a textual domain specific language
Creating a textual domain specific language
 
Third and fourth generation programming language
Third and fourth generation programming languageThird and fourth generation programming language
Third and fourth generation programming language
 
programming.pptx
programming.pptxprogramming.pptx
programming.pptx
 
sege.pdf
sege.pdfsege.pdf
sege.pdf
 
Introduction to computer programming
Introduction to computer programming Introduction to computer programming
Introduction to computer programming
 
Python-unit -I.pptx
Python-unit -I.pptxPython-unit -I.pptx
Python-unit -I.pptx
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Intro1
Intro1Intro1
Intro1
 

Recently uploaded

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Recently uploaded (20)

A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 

Lecture_1 & 2.pptx

  • 1. Modern Programming Languages (CS208) Lecture 1 & 2 By: Mr. Zain Ul Islam Adil Department of Computing ABASYN UNIVERSITY ISLAMABAD CAMPUS “Modern Programming Languages” by Zain Ul Islam Adil, 2022 1
  • 2. • Introduction • Why study programming languages? • Textbooks • Reasons to study concepts of Modern Programming Language (MPL) • Programming Domains • Language Evaluation Criteria • Influence on Language Design • Outcomes “Modern Programming Languages” by Zain Ul Islam Adil, 2022 2 Outline
  • 3. Introduction • A program is a set of instructions that help computer to perform tasks. The languages that are used to write a program or set of instructions are called "programming languages". Programming languages are broadly categorized into three types: • Machine level language Machine language is lowest level of programming language. It handles binary data i.E. 0’s and 1’s 500=111110100 • Assembly level language It consists of commands SUB AX, BX=0010101110000011 • High-level language The instructions in this language are called codes or scripts. if age < 18 {printf("Welcome to MPL Class");} else{ printf("Sorry! You are not allowed in MPL class");} } 3
  • 4. Why study programming languages? • To improve the ability to develop effective algorithms. • To improve the use of familiar languages. • To increase the vocabulary of useful programming Constructs. • To allow a better choice of programming language. • To make it easier to learn a new language. • To make it easier to design a new language. • To simulate useful features in languages that lack them. • To make better use of language technology wherever it Appears. 4
  • 5. Textbooks: • Concepts of programming languages, 6th edition, Robert W. Sebesta • Modern programming languages, Franklin, Beedle & assoc. (2010) • Modern software development using java, Paul T.Tymann & G. Michael schneider 5 “Modern Programming Languages” by Zain Ul Islam Adil, 2022
  • 6. Reasons to study concepts MPL: • Increased capacity to express ideas • Improved background for choosing appropriate languages • Increased ability to learn new languages • Better use of languages that are already known • Overall advancement of computing (Fortran over ALGOL ) 6 “Modern Programming Languages” by Zain Ul Islam Adil, 2022
  • 7. Programming domains • Programming domains i. Scientific applications The early high level programming languages invented for scientific applications like fortran & ALGOL 60. ii. Business Applications iii. Artificial Intelligence iv. System Programming v. Web Software 7 “Modern Programming Languages” by Zain Ul Islam Adil, 2022
  • 8. Language evaluation criteria 1/2 • Clarity, simplicity, and unity. • Orthogonality. • Naturalness for the application. • Support of abstraction. • Ease of program verification. • Programming environments. • Portability of programs. 8 “Modern Programming Languages” by Zain Ul Islam Adil, 2022
  • 9. Language evaluation criteria 2/2 Cost of use • Cost of execution. • Cost of program translation. • Cost of program creation, testing, and use. • Cost of program maintenance. 9
  • 10. Influence on language design Motivation: A specific purpose provides focus for language designers; It helps to set criteria for making design decisions. A specific, motivating application also helps to solve one Of the hardest problems in programming language design: Deciding which features to leave out. 10
  • 11. Outcomes: • Factor which influence the programmer • Qualities of good programming language • Syntax of good programming language 11
  • 12. Reference: • Concepts of programming languages, 8th edition, Robert W. Sebesta 12

Editor's Notes

  1. Machine Level Language Machine language is lowest level of programming language. It handles binary data i.e. 0’s and 1’s. It directly interacts with system. Machine language is difficult for human beings to understand as it comprises combination of 0’s and 1’s. Assembly Level Language Assembly language is a middle-level language. It consists of a set of instructions in a specific format called commands. It uses symbols to represent field of instructions. It is very close to machine level language. The computer should have assembler to translate assembly level program to machine level program.
  2. It might be argued that learning the capabilities of other languages does not help a programmer who is forced to use a language that lacks those capabilities. That argument does not hold up, however, because often, language constructs can be simulated in other languages that do not support those constructs directly. The languages they learned then are no longer used, and many features now available in programming languages were not widely known at the time. The result is that many programmers, when given a choice of languages for a new project, use the language with which they are most familiar, even if it is poorly suited for the project at hand. If these programmers were familiar with a wider range of languages and language constructs, they would be better able to choose the language with the features that best address the problem. programmers who understand the concepts of object- oriented programming will have a much easier time learning. ALGOL(Algorithmic Language)(Fortran & ALGOL is scientific language). They found its description difficult to read (which it was) and even more difficult to understand. They did not appreciate the benefits of block structure, recursion, and well- structured control statements, so they failed to see the benefits of ALGOL 60 over Fortran.