Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of...
-
Upload
horatio-daniels -
Category
Documents
-
view
217 -
download
5
Transcript of Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of...
![Page 1: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/1.jpg)
Introduction and Paradigms
Prepared by
Manuel E. Bermúdez, Ph.D.Associate ProfessorUniversity of Florida
Programming Language ConceptsLecture 1
![Page 2: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/2.jpg)
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.
![Page 3: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/3.jpg)
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.
![Page 4: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/4.jpg)
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++)
![Page 5: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/5.jpg)
Course Topics
11.Concurrency.12.Functional Programming Languages.13.Logic Programming Languages.
![Page 6: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/6.jpg)
Paradigms
• Paradigms
• Paradigm definition• The paradigm shift• Paradigm blindness and paralysis• Examples
![Page 7: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/7.jpg)
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."
![Page 8: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/8.jpg)
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."
![Page 9: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/9.jpg)
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.
![Page 10: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/10.jpg)
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.
![Page 11: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/11.jpg)
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.
![Page 12: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/12.jpg)
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.
![Page 13: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/13.jpg)
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.
![Page 14: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/14.jpg)
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).
![Page 15: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/15.jpg)
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.
![Page 16: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/16.jpg)
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 ???
![Page 17: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/17.jpg)
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.”
![Page 18: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/18.jpg)
Paradigm Blindness and Paralysis (cont’d)
• Examples . . .
![Page 19: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/19.jpg)
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 … ?
![Page 20: Introduction and Paradigms Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Concepts Lecture 1.](https://reader036.fdocuments.in/reader036/viewer/2022072005/56649cd65503460f9499d5d3/html5/thumbnails/20.jpg)
Introduction and Paradigms
Prepared by
Manuel E. Bermúdez, Ph.D.Associate ProfessorUniversity of Florida
Programming Language ConceptsLecture 1