1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of...
-
Upload
grace-norris -
Category
Documents
-
view
212 -
download
0
Transcript of 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of...
![Page 1: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/1.jpg)
1
Programming Languages
Marjan Sirjani
![Page 2: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/2.jpg)
2
1- The Study of Programming LanguagesThe purpose of language is simply that it must convey meaning. (Confucius)
That which can be said, can be said clearly. (Wittgenstein,1963)
A program is a specification of a computation. A programming language is a notation for writing programs.(Sethi,89)
![Page 3: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/3.jpg)
3
Why study programming languages?
Programming languages are important for students in all disciplines of computer science because they are the primary tools of the central activity of computer science : programming.
There is an idea: the structure of language defines the boundaries of thought.
![Page 4: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/4.jpg)
4
Why study programming languages? (cont.)
To improve your ability to develop effective algorithms and to improve your use of your existing programming language. O-O features, recursion Call by value, call by reference
To increase your vocabulary of useful programming constructs.To allow a better choice of programming languages.To make it easier to learn a new language.To make it easier to design a new language.
![Page 5: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/5.jpg)
5
A short history of programming Languages1950 : LISP, FORTRAN1970 : Ada, C, Pascal, Prolog,5 Smalltalk1980 : C++, ML
During 1970 : a lot of PLs were designed.
Early languages: Numerically based languages. (FORTRAN:55,ALGOL:58) Business languages. (COBOL:60 Artificial intelligence languages. (LISP,Prolog) Systems languages. ( C:70)
![Page 6: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/6.jpg)
6
A short history of programming languages (cont.)
50s and 60s : Early high level languages : FORTRAN, COBOL,
ALGOL60 Early mathematical based languages : LISP, APL,
SNOBOL General-purpose language : PL/1 Next leap forward: Algol68, SIMULA67, BASIC
70s: High level and structured programming: Pascal Systems programming: C, modula-2 Logical programming: Prolog Improvement of functional programming: Scheme
![Page 7: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/7.jpg)
7
A short history of programming languages (cont.)
80s: Development of functional programming: ML, Miranda Need for reliability and maintainability: Ada Object-oriented programming: Smalltalk, C++7
90s: Fourth-generation languages Productivity tools (such as spreadsheets) Visual languages : Delphi Scripting languages : Perl Expert systems shells Network computing : Java
![Page 8: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/8.jpg)
8
influences on programming languagesComputer capabilities Hardware and OS
Applications Wide area of applications
Programming methods Multiprogramming, interactive systems, data
abstraction,formal semantics,O-O programming,…
Implementation methods Theoretical studiesStandardization
![Page 9: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/9.jpg)
9
Attributes of a good language
Clarity, simplicity, and unity Have a minimum number of different concepts,
with the rules for their combination, simple and regular (conceptual integrity).
readability
Orthogonality Being able to combine various features of a
language in all possible combinations.
Naturalness for the applicationSupport for abstraction
![Page 10: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/10.jpg)
10
Attributes of a good language
Ease of program verification Proof of correctness, desk checking, test Simplicity of semantic and syntax
Programming environmentPortability of programsCost of use Program execution Program translation Program creation, testing, and use Program maintenance
![Page 11: 1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)](https://reader036.fdocuments.in/reader036/viewer/2022083004/56649dc55503460f94ab97a4/html5/thumbnails/11.jpg)
11
Attributes of a good language (another view)Reliability Writability Readability Simplicity Safety (goto, pointers) Robustness
Maintainability Factoring (modularity) Locality
Efficiency