Sie sind auf Seite 1von 10

CSE3302

Programming Languages
(things to say)

Dr. Carter Tiernan

Programming Languages Misc. 1 jcmt


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.
Programming Languages Misc. 2 jcmt
Analysis of Paradigms

• Name structures
• Data structures
• Control structures

Programming Languages Misc. 3 jcmt


Paradigms

• Procedural
• Object-oriented
• Functional
• Logic

What differentiates these paradigms?

Programming Languages Misc. 4 jcmt


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

Programming Languages Misc. 5 jcmt


Issues with Paradigms

• One language = one paradigm?


• “Programming” vs. “Computer”
language?
• Languages that don’t ‘fit’ in the four
paradigms discussed

Programming Languages Misc. 6 jcmt


Other Paradigms (?)

Structured Unst r uctured


Imperative Declarative Message pass ing
Procedural Functional Object - oriented
Value - lev e l Function - le vel Generic
Scalar Array Collection - Orie n ted
Flow - driven Event - driven Actor
Constraint Logic Relation a l
Post - object Subject - oriented Concurrency - Oriented
Re flective Policy - based
Class - bas e d Prototype - based (wit h in t h e c on 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 t h e m atic a ) Table - Orien t ed (as in MS Fo xPro)
Pipel ining (as UNI X c om ma n d line) Dataflow (as in S pr eads h e e ts)

Programming Languages Misc. 7 jcmt


Paradigm questions

• Why have different language


paradigms developed?
• Which comes first - a new language or a
new paradigm?
• How does a paradigm help us?

Programming Languages Misc. 8 jcmt


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?

Programming Languages Misc. 9 jcmt


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?

Programming Languages Misc. 10 jcmt

Das könnte Ihnen auch gefallen