The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
Notesparadigms
1. Misc. 1 jcmt
Programming Languages
CSE3302
Programming Languages
(things to say)
Dr. Carter Tiernan
2. Misc. 2 jcmt
Programming Languages
Programming Language
Paradigms
• A programming paradigm is a paradigmatic style of
programming (compare with a methodology which is a
paradigmatic style of doing software engineering).
• A programming paradigm provides (and determines) the
view that the programmer has of the execution of the
program.
• The relationship between programming paradigms and
programming languages can be complex since a
programming language can support multiple paradigms.
3. Misc. 3 jcmt
Programming Languages
Analysis of Paradigms
• Name structures
• Data structures
• Control structures
4. Misc. 4 jcmt
Programming Languages
Paradigms
• Procedural
• Object-oriented
• Functional
• Logic
What differentiates these paradigms?
5. Misc. 5 jcmt
Programming Languages
Paradigm Definitions
Focusing on
• actions in a program with control handled
through subprograms
• elements of a system to be modeled and the
behaviors of those elements
• application of functions with little distinction
between program and data
• defining the program logic and not explicitly
handling program control
6. Misc. 6 jcmt
Programming Languages
Issues with Paradigms
• One language = one paradigm?
• “Programming” vs. “Computer”
language?
• Languages that don’t ‘fit’ in the four
paradigms discussed
7. Misc. 7 jcmt
Programming Languages
Other Paradigms (?)
Structured Unst ructured
Imperative Declarative Message pass ing
Procedural Functional Object - oriented
Value - lev e l Function - le vel Generic
Scalar Array Collection - Orie nted
Flow - driven Event - driven Actor
Constraint Logic Relation al
Post - object Subject - oriented Concurrency - Oriented
Re flective Policy - based
Class - bas e d Prototype - based (wit h in th e con te xt of OOP)
Component - or ient e d (as in OLE) Aspect - orient e d (as i n Aspec t J)
Symbolic (as in Ma th e m atic a ) Table - Orien ted (as in MS Fo xPro)
Pipel ining (as UNI X com ma n d line) Dataflow (as in Spr eads h e e ts)
8. Misc. 8 jcmt
Programming Languages
Paradigm questions
• Why have different language
paradigms developed?
• Which comes first - a new language or a
new paradigm?
• How does a paradigm help us?
9. Misc. 9 jcmt
Programming Languages
CSE3302 Questions
• Why do we have you study languages?
(Have you learned anything that might
be useful?)
• Should we make a distinction between
“programming” and
“computer”languages as MacLennan
does? Should we teach both? Using the
language structure?
10. Misc. 10 jcmt
Programming Languages
CSE3302 Questions
• “concepts” approach versus the
“comparison” approach (MacLennan)
– Would you prefer the concepts approach?
– Would it be easier or harder to compare
languages?
• Topics that could be added to CSE3302?