SlideShare a Scribd company logo
PRESENTATION ON TOPIC :->
PROGRAMMING LANGUAGES –
DESIGN AND
IMPLEMENATION
Programming Languages :
Language Design Issues
Why study programming languages ?
A short history of programming
languages
Impact of programming languages
Role of programming languages
Programming enviornment
1.Why study Programming
Language Concepts?
 Increased capacity to express
programming concepts
Improved background for choosing
appropriate languages
Increased ability to learn new languages
Understanding the significance of
implementation .
Why study programming
languages
To improve your ability to develop
effective algorithms .
To improve your use of existing
programming languages .
To increase your vocabulary of useful
programming constructs .
Why study programming
languages
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
Language development
Numerically based languages
Computing mathematical expressions
FORTRAN, Algol, Pascal, PL/1, BASIC, C, C++
Business languages
COBOL (Common Business Oriented Language)
English-like notation
Language development
 Artificial intelligence languages
Tree search; Rule-based paradigm
LISP (LISt Processing)
PROLOG (PROgramming in LOGic)
System languages
C, C++
Script languages: AWK, Perl, TCL/TK
Web programming: HTML, XML, Java,
Microsoft *.NET family
Software architectures
Mainframe era
1.Batch enviornment (batches of files)
2.Interactive enviornment (time sharing)
Effects on language design
 File I/O in batch processing
 Error handling in batch processing
 Time constraints in interactive processing
Software architectures
Personal computers
1.Interactive processing
2.Embedded system environments
Effects on language design
 No need for time sharing
 Good interactive graphics
 Non-standard I/O devices for embedded systems
Software architectures
Networking era
Client-server model of computing
Server: a program that provides information
Client - a program that requests information
Effects on language design
Interaction between the client and server programs
Active web pages, Security issues, Performance
3.Impact of programming
paradigms
What is programming language .
Language paradigms .
Problem solving .
Software design .
Attributes of a good
language
Clarity,simplicity,unity
Orthogonality
Naturalness for the application
Support for abstraction
Ease of program verification
Programming environment
Portability of programs
Cost of use 1.cost of program execution
2.cost of program translation
3.cost of program creation,testing,use.
1.WHAT IS PROGRAMMING
LANGUAGE?
Programming languages are essentially
carefully designed notations .They are used to
specify ,organize, and reason about the
various aspects of problem solving. The
designers of programming language have twin
goals:
Making computing convenient.
Making efficient use of computing machines.
2.Language paradigms
Imperative / procedural languages
Applicative / functional languages
Rule-based / declarative languages
Object-oriented languages
2.1.Imperative /
procedural languages
Statement oriented languages that change
machine state
EX : (C, Pascal, FORTRAN, COBOL)
Computation: a sequence of machine states
(contents of memory)
Syntax: S1, S2, S3, ... where S1, S2, … are
statements
2.2.Applicative /
functional languages
Programming consists of building the
function that computes the answer
EX: (ML, LISP)
Computation: Function composition is major
operation
Syntax: F1(F2(F3(X))) where F1,F2,F3 are
functions & X is data .
2.3.Rule-based /
declarative languages
Computation: Actions are specified by rules
that check for the presence of certain enabling
conditions. EX:(Prolog)
The order of execution is determined by the
enabling conditions, not by the order of the
statements.
Syntax: Condition  Action
2.4.Object-oriented languages
Imperative languages that merge applicative
design with imperative statements
EX:(Java, C++, Smalltalk)
Syntax: Set of objects (classes) containing data
(imperative concepts) and methods
(applicative concepts)
3.Problem solving
Defining the system
Analyzing the system defined
Detailed system specification
Design the system
Implement the design
Testing and debugging
validation
4.Software design
Software design sits at crossroads of all the
computers : hardware and software
engineering and programming, human
factors research , ergonomics .
It Is the study of intersection of human ,
machine ,and the various interfaces-
physical ,sensory ,psychological -that
connect them .
A designer studies the following aspects
of a programming language or paradigm:
 Support for abstraction.
Parameters and parameter transmission.
Exceptions and exception handling.
Support for static and dynamic storage
management.
Language
standardization
The need for standards - to increase
portability of programs
Problem: When to standardize a language?
If too late - many incompatible versions
If too early - no experience with language
Problem: What happens with the software developed
before the standardization?
Ideally, new standards have to be compatible
with older standards.
Internationalization
I18N issue - How to specify languages useful
in a global economy?
• What character codes to use?
• Collating sequences? - How do you
alphabetize various languages?
• Dates? - What date is 10/12/01? 10-12-
01? 12.10.01 ? Is it a
date in October or December?
Internationalization
• Time? - How do you handle
• time zones,
• summer time in Europe,
• daylight savings time in US,
• Southern hemisphere is 6 months out of
phase with northern hemisphere,
• the date to change from summer to
standard time is not consistent.
• Currency? - How to handle
dollars, pounds, marks, francs, euros, etc.
Programming environments
Programming environment:
the environment in which programs
are created and tested.
Separate compilation
Separate execution
Testing
Debugging
Effects on language design :->
Modular organization
Local/global variables
Libraries
Programming environments
Programming environments
Process control languages
Scripting languages
• Usually interpreted,
• Able to process programs and data files
• Specify a sequence of operations on
program and data files.
Awk, Perl, Tcl/Tk
Summary
•Language design must:
 Allow program solution to match
problem structure
Allow for world-wide use
Be easy to prove correctness of
solutions

More Related Content

PDF
Introduction to c++ ppt
PPTX
Composite transformation
PPTX
Unit1 principle of programming language
PPTX
bus and memory tranfer (computer organaization)
PPT
Architecture design in software engineering
PPTX
Software myths | Software Engineering Notes
PDF
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
PPTX
Programming Fundamentals lecture 1
Introduction to c++ ppt
Composite transformation
Unit1 principle of programming language
bus and memory tranfer (computer organaization)
Architecture design in software engineering
Software myths | Software Engineering Notes
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
Programming Fundamentals lecture 1

What's hot (20)

PPTX
Language design and translation issues
PPTX
RECURSIVE DESCENT PARSING
PPTX
Unit 4 sp macro
PPT
Real-Time Scheduling
PPTX
X86 Architecture
PPT
Lecture 5 - Structured Programming Language
PPTX
Toy complier
PDF
loaders and linkers
PPTX
C++ Overview PPT
PDF
Lecture 3 basic syntax and semantics
PPTX
Linker and Loader
DOCX
Levels of Virtualization.docx
PPT
Compiler Design Basics
PPTX
Computer registers
PPT
1. over view and history of c
PPTX
COMPILER DESIGN OPTIONS
PPTX
Macro Processor
PPT
Introduction to Compiler design
Language design and translation issues
RECURSIVE DESCENT PARSING
Unit 4 sp macro
Real-Time Scheduling
X86 Architecture
Lecture 5 - Structured Programming Language
Toy complier
loaders and linkers
C++ Overview PPT
Lecture 3 basic syntax and semantics
Linker and Loader
Levels of Virtualization.docx
Compiler Design Basics
Computer registers
1. over view and history of c
COMPILER DESIGN OPTIONS
Macro Processor
Introduction to Compiler design
Ad

Similar to Programming language design and implemenation (20)

PPTX
Ch1 language design issue
PPTX
Principles of Intro to Programming Languages
PDF
Computer programing 111 lecture 1
PPT
PPL unit 1 syntax and semantics- evolution of programming language lexical an...
PPTX
CSCorganization of programming languages
PPTX
Chapter 1: Theory of programming languages
PDF
computer-science_engineering_principles-of-programming-languages_introduction...
PDF
concepts-in-programming-languages-2kuots4121.pdf
PPTX
computer programming computer programmin
PPTX
Introduction To Computer Programming
PDF
Principles of programming languages .pdf
PPT
Introduction Programming Languages
PPT
week1.ppt
PPT
Ppl 13 july2019
PDF
Programming languages and concepts by vivek parihar
PDF
Programing paradigm & implementation
PPT
English de lenguaje de programacion
PDF
Introduction to computer programming language
PPTX
Preliminary Concepts in principlesofprogramming.pptx
Ch1 language design issue
Principles of Intro to Programming Languages
Computer programing 111 lecture 1
PPL unit 1 syntax and semantics- evolution of programming language lexical an...
CSCorganization of programming languages
Chapter 1: Theory of programming languages
computer-science_engineering_principles-of-programming-languages_introduction...
concepts-in-programming-languages-2kuots4121.pdf
computer programming computer programmin
Introduction To Computer Programming
Principles of programming languages .pdf
Introduction Programming Languages
week1.ppt
Ppl 13 july2019
Programming languages and concepts by vivek parihar
Programing paradigm & implementation
English de lenguaje de programacion
Introduction to computer programming language
Preliminary Concepts in principlesofprogramming.pptx
Ad

More from Ashwini Awatare (10)

PPTX
Integrated website using social plugins
DOCX
Face recogntion using PCA algorithm
PPTX
Face recogntion Using PCA Algorithm
PPTX
Dma and dma controller 8237
PPT
Incredible india
PPTX
Image proccessing and its application
PPTX
Image proccessing and its applications.
PPTX
Cyber crimes and its security
PPTX
Cyber crimes and its security
DOCX
Event oriented programming
Integrated website using social plugins
Face recogntion using PCA algorithm
Face recogntion Using PCA Algorithm
Dma and dma controller 8237
Incredible india
Image proccessing and its application
Image proccessing and its applications.
Cyber crimes and its security
Cyber crimes and its security
Event oriented programming

Recently uploaded (20)

PPTX
web development for engineering and engineering
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
Well-logging-methods_new................
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Construction Project Organization Group 2.pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Welding lecture in detail for understanding
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Geodesy 1.pptx...............................................
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
Digital Logic Computer Design lecture notes
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
PPT on Performance Review to get promotions
PPTX
Sustainable Sites - Green Building Construction
web development for engineering and engineering
bas. eng. economics group 4 presentation 1.pptx
Well-logging-methods_new................
OOP with Java - Java Introduction (Basics)
Construction Project Organization Group 2.pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Welding lecture in detail for understanding
Automation-in-Manufacturing-Chapter-Introduction.pdf
Geodesy 1.pptx...............................................
Embodied AI: Ushering in the Next Era of Intelligent Systems
Operating System & Kernel Study Guide-1 - converted.pdf
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Digital Logic Computer Design lecture notes
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPT on Performance Review to get promotions
Sustainable Sites - Green Building Construction

Programming language design and implemenation

  • 1. PRESENTATION ON TOPIC :-> PROGRAMMING LANGUAGES – DESIGN AND IMPLEMENATION
  • 2. Programming Languages : Language Design Issues Why study programming languages ? A short history of programming languages Impact of programming languages Role of programming languages Programming enviornment
  • 3. 1.Why study Programming Language Concepts?  Increased capacity to express programming concepts Improved background for choosing appropriate languages Increased ability to learn new languages Understanding the significance of implementation .
  • 4. Why study programming languages To improve your ability to develop effective algorithms . To improve your use of existing programming languages . To increase your vocabulary of useful programming constructs .
  • 5. Why study programming languages 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
  • 6. Language development Numerically based languages Computing mathematical expressions FORTRAN, Algol, Pascal, PL/1, BASIC, C, C++ Business languages COBOL (Common Business Oriented Language) English-like notation
  • 7. Language development  Artificial intelligence languages Tree search; Rule-based paradigm LISP (LISt Processing) PROLOG (PROgramming in LOGic) System languages C, C++ Script languages: AWK, Perl, TCL/TK Web programming: HTML, XML, Java, Microsoft *.NET family
  • 8. Software architectures Mainframe era 1.Batch enviornment (batches of files) 2.Interactive enviornment (time sharing) Effects on language design  File I/O in batch processing  Error handling in batch processing  Time constraints in interactive processing
  • 9. Software architectures Personal computers 1.Interactive processing 2.Embedded system environments Effects on language design  No need for time sharing  Good interactive graphics  Non-standard I/O devices for embedded systems
  • 10. Software architectures Networking era Client-server model of computing Server: a program that provides information Client - a program that requests information Effects on language design Interaction between the client and server programs Active web pages, Security issues, Performance
  • 11. 3.Impact of programming paradigms What is programming language . Language paradigms . Problem solving . Software design .
  • 12. Attributes of a good language Clarity,simplicity,unity Orthogonality Naturalness for the application Support for abstraction Ease of program verification Programming environment Portability of programs Cost of use 1.cost of program execution 2.cost of program translation 3.cost of program creation,testing,use.
  • 13. 1.WHAT IS PROGRAMMING LANGUAGE? Programming languages are essentially carefully designed notations .They are used to specify ,organize, and reason about the various aspects of problem solving. The designers of programming language have twin goals: Making computing convenient. Making efficient use of computing machines.
  • 14. 2.Language paradigms Imperative / procedural languages Applicative / functional languages Rule-based / declarative languages Object-oriented languages
  • 15. 2.1.Imperative / procedural languages Statement oriented languages that change machine state EX : (C, Pascal, FORTRAN, COBOL) Computation: a sequence of machine states (contents of memory) Syntax: S1, S2, S3, ... where S1, S2, … are statements
  • 16. 2.2.Applicative / functional languages Programming consists of building the function that computes the answer EX: (ML, LISP) Computation: Function composition is major operation Syntax: F1(F2(F3(X))) where F1,F2,F3 are functions & X is data .
  • 17. 2.3.Rule-based / declarative languages Computation: Actions are specified by rules that check for the presence of certain enabling conditions. EX:(Prolog) The order of execution is determined by the enabling conditions, not by the order of the statements. Syntax: Condition  Action
  • 18. 2.4.Object-oriented languages Imperative languages that merge applicative design with imperative statements EX:(Java, C++, Smalltalk) Syntax: Set of objects (classes) containing data (imperative concepts) and methods (applicative concepts)
  • 19. 3.Problem solving Defining the system Analyzing the system defined Detailed system specification Design the system Implement the design Testing and debugging validation
  • 20. 4.Software design Software design sits at crossroads of all the computers : hardware and software engineering and programming, human factors research , ergonomics . It Is the study of intersection of human , machine ,and the various interfaces- physical ,sensory ,psychological -that connect them .
  • 21. A designer studies the following aspects of a programming language or paradigm:  Support for abstraction. Parameters and parameter transmission. Exceptions and exception handling. Support for static and dynamic storage management.
  • 22. Language standardization The need for standards - to increase portability of programs Problem: When to standardize a language? If too late - many incompatible versions If too early - no experience with language Problem: What happens with the software developed before the standardization? Ideally, new standards have to be compatible with older standards.
  • 23. Internationalization I18N issue - How to specify languages useful in a global economy? • What character codes to use? • Collating sequences? - How do you alphabetize various languages? • Dates? - What date is 10/12/01? 10-12- 01? 12.10.01 ? Is it a date in October or December?
  • 24. Internationalization • Time? - How do you handle • time zones, • summer time in Europe, • daylight savings time in US, • Southern hemisphere is 6 months out of phase with northern hemisphere, • the date to change from summer to standard time is not consistent. • Currency? - How to handle dollars, pounds, marks, francs, euros, etc.
  • 25. Programming environments Programming environment: the environment in which programs are created and tested. Separate compilation Separate execution Testing Debugging
  • 26. Effects on language design :-> Modular organization Local/global variables Libraries Programming environments
  • 27. Programming environments Process control languages Scripting languages • Usually interpreted, • Able to process programs and data files • Specify a sequence of operations on program and data files. Awk, Perl, Tcl/Tk
  • 28. Summary •Language design must:  Allow program solution to match problem structure Allow for world-wide use Be easy to prove correctness of solutions