PREPARED BY ,
Asst.Prof.M.Gokilavani,
BIET
9/27/2022 1
 Preliminary Concepts: Reasons for Studying Concepts
of Programming Languages, Programming Domains
 Language Evaluation Criteria, Influences on Language
Design, Language Categories
 Language Design Trade-Offs, Implementation Methods,
Programming Environments.
 Syntax and Semantics: General Problem of Describing
Syntax and Semantics,
 Formal Methods of Describing Syntax
 Attribute Grammars, Describing the Meanings of Programs.
9/27/2022 2
 Why study PL concepts?
 Programming domains
 PL evaluation criteria
 What influences PL design?
 Tradeoffs faced by programming languages
 Implementation methods
 Programming environments
9/27/2022 3
 A programming language is a computer language programmers use to
develop software programs, scripts, or other sets of instructions for
computers to execute.
 Each of the different programming languages can be broken into one or
more of the following types (paradigms) of languages.
 A programming language is the tool for developing executable models for
a class of problem domains .
 A programming language also have words, symbols and rule of grammar .
 A grammar rules are called syntax.
 Each programming language has its qon syntax set of rules.
9/27/2022 4
 Increased capacity to express ideas
 Improved background for choosing appropriate
languages
 Increased ability to learn new languages
 Better understanding of the significance of
implementation
 Better use of languages that are already known
 Overall advancement of computing
9/27/2022 5
 People can easily express their ideas clearly in any
language only when they have clear understanding of
the natural language.
 Similarly, if programmers want to simulate the features
of languages in another language, they should have
some ideas regarding the concepts in other languages as
well.
9/27/2022 6
 Many programmers when given a choice of languages
for a new project, continue to use the language with
which they are most familiar, even if it is poorly suited
to the project.
 If these programmers were familiar with a wider range
of languages, they would be better able to choose the
language that includes the features that best address the
characteristics of the problem at hand.
9/27/2022 7
 In software development, continuous learning is
essential.
 The process of learning a new programming language
can be lengthy and difficult, especially for someone
who is comfortable with only two or more languages.
 Once a thorough understanding of the fundamental
concepts of languages is acquired, it becomes far easier
to see how these concepts are incorporated into the
design of the language being learned.
9/27/2022 8
 An understanding of implementation issues leads to an
understanding of why languages are designed the way
they are.
 This knowledge in turn leads to the ability to use a
language more intelligently, as it was designed to use.
 We can become better programmers be understanding
the choices among programming language constructs
and consequences of those choices.
9/27/2022 9
 By studying the concepts of programming languages,
programmers can learn about previously unknown and
unused parts of the languages they already use and
begin to use those features.
9/27/2022 10
 There is a global view of computing that can justify the
study of programming language concepts.
 For example, many people believe it would have been
better if ALGOL 60 had displaced Fortran in the early
1960s, because it was more elegant and had much better
 control statements than Fortran.
 That it did not is due partly to the programmers and
software development managers of that time, many of
whom did not clearly understand the conceptual design of
ALGOL 60.
 If those who choose languages were better informed,
perhaps, better languages would eventually squeeze out
poorer ones.
9/27/2022 11
 Clarity, simplicity and unity
 Orthogonality
 Naturalness of application
 Support of abstraction
 Ease of program verification
 Programming environments
 Portability of programs
 Cost of use
 Cos of execution
 Cost of program translation
 Cost of program creation, testing and use
 Cost of program maintains.
9/27/2022 12
 To improve the ability to develop effective algorithms.
 To improve use of familiar languages.
 To increase the vocabulary of useful programming
languages.
 To make it easier to learn a new language.
 To simulate useful feature in language that lack them.
 To make better use of programming technology
wherever it appears.
9/27/2022 13
 Scientific applications
 Business applications
 Artificial intelligence
 Systems programming
 Scripting languages
 Special purpose languages
9/27/2022 14
9/27/2022 15

Unit 1_ preliminary Concepts_session 1.pptx

  • 1.
  • 2.
     Preliminary Concepts:Reasons for Studying Concepts of Programming Languages, Programming Domains  Language Evaluation Criteria, Influences on Language Design, Language Categories  Language Design Trade-Offs, Implementation Methods, Programming Environments.  Syntax and Semantics: General Problem of Describing Syntax and Semantics,  Formal Methods of Describing Syntax  Attribute Grammars, Describing the Meanings of Programs. 9/27/2022 2
  • 3.
     Why studyPL concepts?  Programming domains  PL evaluation criteria  What influences PL design?  Tradeoffs faced by programming languages  Implementation methods  Programming environments 9/27/2022 3
  • 4.
     A programminglanguage is a computer language programmers use to develop software programs, scripts, or other sets of instructions for computers to execute.  Each of the different programming languages can be broken into one or more of the following types (paradigms) of languages.  A programming language is the tool for developing executable models for a class of problem domains .  A programming language also have words, symbols and rule of grammar .  A grammar rules are called syntax.  Each programming language has its qon syntax set of rules. 9/27/2022 4
  • 5.
     Increased capacityto express ideas  Improved background for choosing appropriate languages  Increased ability to learn new languages  Better understanding of the significance of implementation  Better use of languages that are already known  Overall advancement of computing 9/27/2022 5
  • 6.
     People caneasily express their ideas clearly in any language only when they have clear understanding of the natural language.  Similarly, if programmers want to simulate the features of languages in another language, they should have some ideas regarding the concepts in other languages as well. 9/27/2022 6
  • 7.
     Many programmerswhen given a choice of languages for a new project, continue to use the language with which they are most familiar, even if it is poorly suited to the project.  If these programmers were familiar with a wider range of languages, they would be better able to choose the language that includes the features that best address the characteristics of the problem at hand. 9/27/2022 7
  • 8.
     In softwaredevelopment, continuous learning is essential.  The process of learning a new programming language can be lengthy and difficult, especially for someone who is comfortable with only two or more languages.  Once a thorough understanding of the fundamental concepts of languages is acquired, it becomes far easier to see how these concepts are incorporated into the design of the language being learned. 9/27/2022 8
  • 9.
     An understandingof implementation issues leads to an understanding of why languages are designed the way they are.  This knowledge in turn leads to the ability to use a language more intelligently, as it was designed to use.  We can become better programmers be understanding the choices among programming language constructs and consequences of those choices. 9/27/2022 9
  • 10.
     By studyingthe concepts of programming languages, programmers can learn about previously unknown and unused parts of the languages they already use and begin to use those features. 9/27/2022 10
  • 11.
     There isa global view of computing that can justify the study of programming language concepts.  For example, many people believe it would have been better if ALGOL 60 had displaced Fortran in the early 1960s, because it was more elegant and had much better  control statements than Fortran.  That it did not is due partly to the programmers and software development managers of that time, many of whom did not clearly understand the conceptual design of ALGOL 60.  If those who choose languages were better informed, perhaps, better languages would eventually squeeze out poorer ones. 9/27/2022 11
  • 12.
     Clarity, simplicityand unity  Orthogonality  Naturalness of application  Support of abstraction  Ease of program verification  Programming environments  Portability of programs  Cost of use  Cos of execution  Cost of program translation  Cost of program creation, testing and use  Cost of program maintains. 9/27/2022 12
  • 13.
     To improvethe ability to develop effective algorithms.  To improve use of familiar languages.  To increase the vocabulary of useful programming languages.  To make it easier to learn a new language.  To simulate useful feature in language that lack them.  To make better use of programming technology wherever it appears. 9/27/2022 13
  • 14.
     Scientific applications Business applications  Artificial intelligence  Systems programming  Scripting languages  Special purpose languages 9/27/2022 14
  • 15.