100 likes | 260 Views
CSE3302 Programming Languages (things to say). Dr. Carter Tiernan. 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).
E N D
CSE3302Programming Languages(things to say) Dr. Carter Tiernan
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.
Analysis of Paradigms • Name structures • Data structures • Control structures
Paradigms • Procedural • Object-oriented • Functional • Logic What differentiates these paradigms?
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
Issues with Paradigms • One language = one paradigm? • “Programming” vs. “Computer” language? • Languages that don’t ‘fit’ in the four paradigms discussed
Paradigm questions • Why have different language paradigms developed? • Which comes first - a new language or a new paradigm? • How does a paradigm help us?
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?
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?