🗊Презентация Programming Languages: Concepts and Constructs by Ravi Sethi

Нажмите для полного просмотра!
Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №1Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №2Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №3Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №4Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №5Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №6Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №7Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №8Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №9Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №10Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №11Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №12Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №13Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №14Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №15Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №16Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №17Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №18Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №19Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №20Programming Languages: Concepts and Constructs by Ravi Sethi, слайд №21

Вы можете ознакомиться и скачать презентацию на тему Programming Languages: Concepts and Constructs by Ravi Sethi. Доклад-сообщение содержит 21 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





The Role of Programming Languages
Chapter 1: 
Programming Languages: Concepts and Constructs by Ravi Sethi
Описание слайда:
The Role of Programming Languages Chapter 1: Programming Languages: Concepts and Constructs by Ravi Sethi

Слайд 2





What is a Programming Language?
a tool for instructing machines
a means of communicating between programmers
a vehicle for expressing high-level designs
a notation for algorithms
a way of expressing relationships between concepts
a tool for experimentation
a means for controlling computerized devices
Описание слайда:
What is a Programming Language? a tool for instructing machines a means of communicating between programmers a vehicle for expressing high-level designs a notation for algorithms a way of expressing relationships between concepts a tool for experimentation a means for controlling computerized devices

Слайд 3





Language Designers
Balance
… making computing convenient for programmers (a fool with a tool is still a fool)
and making efficient use of computing machines (... Why do I have to state this?)
Описание слайда:
Language Designers Balance … making computing convenient for programmers (a fool with a tool is still a fool) and making efficient use of computing machines (... Why do I have to state this?)

Слайд 4





Levels
Gross distinction between programming language
based on readability
based on independence
based on purpose (specific … general)
Описание слайда:
Levels Gross distinction between programming language based on readability based on independence based on purpose (specific … general)

Слайд 5





Levels
Machine level language
Assembly level language
High-level language (3GL)
sometimes 4GL - fourth Generation Language
Описание слайда:
Levels Machine level language Assembly level language High-level language (3GL) sometimes 4GL - fourth Generation Language

Слайд 6





Machine Level
00000010101111001010
00000010101111001000
00000011001110101000
Can you tell what this code fragment does?
Can it be executed on any machine?
Is it general purpose?
Описание слайда:
Machine Level 00000010101111001010 00000010101111001000 00000011001110101000 Can you tell what this code fragment does? Can it be executed on any machine? Is it general purpose?

Слайд 7





Assembly Language
Look at figure 1.1
LD   R1,”0”
LD    R2, M
ST    R2, R1
…  real assembly used mnemonics 
Add  A(M), …. Had to do your own indexing
What does this program do?
Описание слайда:
Assembly Language Look at figure 1.1 LD R1,”0” LD R2, M ST R2, R1 … real assembly used mnemonics Add A(M), …. Had to do your own indexing What does this program do?

Слайд 8





Assembly Language
Look at page 63 in your text and figure 3.1
Can you understand what it does now?
Описание слайда:
Assembly Language Look at page 63 in your text and figure 3.1 Can you understand what it does now?

Слайд 9





Basic Concepts of a RAM machine
Memory: addresses, contents
Program: instructions
input/output:(files)
Описание слайда:
Basic Concepts of a RAM machine Memory: addresses, contents Program: instructions input/output:(files)

Слайд 10





High Level
Readable familiar notations
machine independence
availability of program libraries
consistency check (check data types)
Описание слайда:
High Level Readable familiar notations machine independence availability of program libraries consistency check (check data types)

Слайд 11





Problems of Scale
Changes are easy to make
isolated program fragments can be understood
BUT… one small bug can lead to disaster 
read the NOT story about Mariner rockets
Notice how the chairman does not understand that a “small” problem can lead to devastating result and why it was not caught
Описание слайда:
Problems of Scale Changes are easy to make isolated program fragments can be understood BUT… one small bug can lead to disaster read the NOT story about Mariner rockets Notice how the chairman does not understand that a “small” problem can lead to devastating result and why it was not caught

Слайд 12





Bugs
Programming testing can be used to show the presence of bugs, but never their absence! 
Dijkstra
Programming Languages can help 
readable and understandable
organize such that parts can be understood
Описание слайда:
Bugs Programming testing can be used to show the presence of bugs, but never their absence! Dijkstra Programming Languages can help readable and understandable organize such that parts can be understood

Слайд 13





Role of Programming Languages
Art (science) of programming is organizing complexity
Must organize in such a way that our limited powers are sufficient to guarantee that the computation will establish the desired effect
(Dijkstra - structured programming, sometimes referred to as goto-less programming)
Описание слайда:
Role of Programming Languages Art (science) of programming is organizing complexity Must organize in such a way that our limited powers are sufficient to guarantee that the computation will establish the desired effect (Dijkstra - structured programming, sometimes referred to as goto-less programming)

Слайд 14





Programming Paradigms
Imperative - action oriented, sequence of actions
Functional - LISP, symbolic data processing
Object-Oriented
Logic - Prolog, logic reasoning
Sequential and concurrent
Описание слайда:
Programming Paradigms Imperative - action oriented, sequence of actions Functional - LISP, symbolic data processing Object-Oriented Logic - Prolog, logic reasoning Sequential and concurrent

Слайд 15





Language Implementation
Compiler - source code it translated into machine code (all at once)
Interpreter - machine is brought up to the language (one statement at a time)
Описание слайда:
Language Implementation Compiler - source code it translated into machine code (all at once) Interpreter - machine is brought up to the language (one statement at a time)

Слайд 16





Compiled C
Описание слайда:
Compiled C

Слайд 17





Interpreted Code
Each instruction is interpreted by machine interpreter
does not produce object code
Описание слайда:
Interpreted Code Each instruction is interpreted by machine interpreter does not produce object code

Слайд 18





Comparisons
Compilation more efficient
interpreted more flexible
Описание слайда:
Comparisons Compilation more efficient interpreted more flexible

Слайд 19





Testing your skill
Do 1.4 (a,b,c) in PL book
Do 1.5
For each file, include a file header:
what this file accomplishes - description
what “entities” are in this file
dependencies
structure
Описание слайда:
Testing your skill Do 1.4 (a,b,c) in PL book Do 1.5 For each file, include a file header: what this file accomplishes - description what “entities” are in this file dependencies structure

Слайд 20





Testing your skill
For each module, include a module header:
what this module accomplishes - description
dependencies ( parameters(in, out, inout), global data (accessed or modified), called by (fanin), calls (fanout)  )
restrictions
programmer
date created
modifications
Описание слайда:
Testing your skill For each module, include a module header: what this module accomplishes - description dependencies ( parameters(in, out, inout), global data (accessed or modified), called by (fanin), calls (fanout) ) restrictions programmer date created modifications

Слайд 21





Testing your skill
For the test cases, include a test header: 
for each input, put the expected output, date executed, name of tester and passed/failed
Описание слайда:
Testing your skill For the test cases, include a test header: for each input, put the expected output, date executed, name of tester and passed/failed



Похожие презентации
Mypresentation.ru
Загрузить презентацию