Introduction and Paradigms Manuel E. Bermúdez, Ph.D. Programming Language Concepts Lecture 1
Download
Report
Transcript Introduction and Paradigms Manuel E. Bermúdez, Ph.D. Programming Language Concepts Lecture 1
Introduction and Paradigms
Programming Language Concepts
Lecture 1
Prepared by
Manuel E. Bermúdez, Ph.D.
Associate Professor
University of Florida
Course Goals
1. Expose students to the four major
programming paradigms: imperative,
object-oriented, functional, and logic.
2. Cover programming language
specification: syntax and semantics
3. Discuss language constructs, design
goals, run-time structures, and
implementation techniques.
Course Goals (cont’d)
• Not merely a tour of programming
languages.
• The goal is to study the LINGUISTICS
of programming. An analogy: a
linguist has more knowledge than
merely speaking a few languages.
Course Topics
1. Paradigms.
2. Evolution of Programming Languages
(postpone?)
3. Compiling.
4. Lexical and Syntax Analysis (parsing)
5. Names, Scopes and Bindings.
6. Data Types.
7. Expressions and Assignment.
8. Control flow.
9. Subprograms.
10.Object-oriented programming (C++)
Course Topics
11.Concurrency.
12.Functional Programming Languages.
13.Logic Programming Languages.
Paradigms
• Paradigms
•
•
•
•
Paradigm definition
The paradigm shift
Paradigm blindness and paralysis
Examples
Definition of Paradigm
• Thomas Kuhn (The Structure of Scientific
Revolutions): "… accepted samples of
practical methods in science.”
• Adam Smith (Powers of the Mind): ”A
shared set of assumed facts. Water to the
fish, a paradigm explains the world and
allows us to predict its behavior. When in
the middle of a paradigm, it is difficult to
imagine any other."
Definition of Paradigm (cont’d)
• Willis Hartman (An Incomplete Guide
to the Future): "… a basic way of
perceiving, thinking, valuing and doing
things that are associated with a
particular vision of reality.”
• Marilyn Ferguson (The Aquarian
Conspiracy): "… a framework for
thought… a scheme for understanding
and explaining certain aspects of
reality."
Definition of Paradigm (cont’d)
• Joel Barker (Discovering the Future:
The Business of Paradigms): " … a set
of rules that define limits, and
establish what’s necessary to be
succesfull within those limits."
• NOTE: We humans subscribe to
paradigms composed of a SMALL set
of rules, and we have a STRONG
tendency to resist letting them go.
The Paradigm Shift
• A change in rules: old rules not only
stop being useful, but they GET IN
THE WAY.
• Examples (in general):
• Rise(and then fall) of Japan as a
economical superpower.
• Fall of the Soviet Union.
• South Africa abolishes apartheid
without bloodshed.
The Paradigm Shift (cont’d)
• College degree no longer a guarantor of
economic success.
• Computers (and Internet) for everyone.
• Offshoring of IT jobs (IT skills as a
commodity).
• And, of course, 9/11/2001.
The Paradigm Shift (cont’d)
• Examples (specific to computing):
• Structured programming.
• Object oriented programming.
• The WWW.
• “Towers of Hanoi”
• The .com boom (and bust).
• Computing in Astronomy.
• NOTES:
• Paradigm shifts occur suddenly.
• Their timing is VERY difficult to
predict.
The Paradigm Shift (cont’d)
• Change is instigated by an “outsider.”
• The new college graduate, or a
scientist moving from one discipline
to another:
• Unfamiliar with the established
paradigm.
• Not “vested” in the old paradigm.
The Paradigm Shift (cont’d)
• Example:
“If I had thought about it, I
wouldn’t have done it. The
literature is full of examples that
show that this cannot be done” -(Spencer Silver of 3M, inventor of
Post-it notes).
Paradigm Blindness and Paralysis
• The mortal disease of certainty.
• Paradigms act as physiological filters;
a colored filter before the eyes.
• The rules for the new paradigm are
often completely INVISIBLE to those
still subscribing to the old paradigm.
Paradigm Blindness and Paralysis
(cont’d)
• Example: In the late 1930’s, Chester
Carlson showed Kodak, IBM and 41
other companies his new
“photographic system”:
• a steel plate, some black powder, a
piece of cat fur, a piece of amber,
some wax paper, and an iron.
• Only the Halloid Corporation
adopted the new system.
They later became ???
Paradigm Blindness and Paralysis
(cont’d)
• Example: Who invented the quartz
clock?
• The swiss!
• Characteristics of paradigm blindness:
•
•
•
•
“That’s not the way we do it.”
“It is not going to work.”
“That’s impossible.”
“If you had my years of experience,
you would know you are wrong.”
Paradigm Blindness and Paralysis
(cont’d)
• Examples . . .
Programming (Language)
Paradigms
• FOUR PARADIGMS OF COMPUTING
• Imperative:
• WHAT DO WE DO NEXT ?
• Functional:
• WHAT IS THE FUNCTION’S VALUE ?
• Object-Oriented:
• WHAT ARE THE TERMS OF THE
CONTRACT ?
• Logic:
• WHEN IS IT TRUE THAT … ?
Introduction and Paradigms
Programming Language Concepts
Lecture 1
Prepared by
Manuel E. Bermúdez, Ph.D.
Associate Professor
University of Florida