Overview of Programming Paradigms

Slides:



Advertisements
Similar presentations
An Introduction to Programming General Concepts. What is a program? A program is an algorithm expressed in a programming language. programming language.
Advertisements

Programming Languages and Paradigms
Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
High-Level Programming Languages
Programming Languages Structure
Chapter 8 High-Level Programming Languages Nell Dale John Lewis.
Presented by Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion.
Programming Paradigms Imperative programming Functional programming Logic programming Event-driven programming Object-oriented programming A programming.
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
Chapter 8 High-Level Programming Languages (modified by Erin Chambers)
School of Computer Science & Information Technology G6DICP - Lecture 22 The Theory of Object Oriented Programming.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
By Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion (Algol,
1 Programming Language History and Evolution In Text: Chapter 2.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Programming Languages and Paradigms Imperative Programming.
CS 345: Programming Language Paradigms Chris Brooks HR 510 MWF 11:00-12:05.
Chapter 8 High-Level Programming Languages. 2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Programming Languages
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
int k = Integer.MAX_VALUE; k++; int k = Integer.MAX_VALUE; k++; What happens when the following code executes? byte b = someFile.readByte(); b = (byte)(b.
C H A P T E R T H R E E Type Systems and Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.
Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Programming Language Paradigms ITSK2314 Lecture 3.
a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
Language Paradigms CS655.
CPS120 Introduction to Computer Science High Level Language: Paradigms.
Programming Paradigms, Software Architectural Patterns, and MVC CS 378 – Mobile Computing for iOS Dr. William C. Bulko.
Programming Language History and Evolution
Chapter 1. Introduction.
Programming Languages 2nd edition Tucker and Noonan
Programming paradigms
Why study programming languages?
PROGRAMMING LANGUAGES
Programming Language Design Concepts
An Introduction to Programming
Types of Programming Languages
Programming Language History and Evolution
Evolution of programming languages
Developing Applications
Final Review In Text: Chapters 1-3, 5-11,
Ada – 1983 History’s largest design effort
Final Review In Text: Chapters 1-11,
Final Review In Text: Chapters 1-3, 5-10, 12,
Final Review In Text: Chapters 1-3, 5-10, 12,
Programming & S/W Development
Final Review In Text: Chapters 1-3, 5-10,
CSE 341 Programming Languages Autumn 2001
CSE 341 Programming Languages Autumn 2003
CSE 341 Programming Languages Autumn 2002
Final Review In Text: Chapters 1-3, 5-12,
High Level Programming Languages
Chapter 6: Programming Languages
Low Level Programming Languages
Final Review In Text: Chapters 1-3, 5-16.
Principles of Programming Languages
CSE 341 Programming Languages Autumn 2003
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
An Introduction to Programming
Programming Languages and Paradigms
Final Review In Text: Chapters 1-3, 5-16.
Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Presentation transcript:

Overview of Programming Paradigms

Definitions Programming Paradigm Programming Language programming “technique” (?) way of thinking about programming view of a program Programming Language consists of words, symbols, and rules for writing a program

Programming Paradigms Imperative Programming program as a collection of statements and procedures affecting data (variables) Object-Oriented Programming program as a collection of classes for interacting objects Functional Programming program as a collection of (math) functions

Some Languages by Paradigm Imperative (also called Structured or Procedural) Programming FORTRAN, BASIC, COBOL, Pascal, C Object-Oriented Programming SmallTalk, C++, Java Functional Programming LISP, ML, Haskell

History of Languages 1950s to 1960s 1960s to 1970s 1970s to 1980s FORTRAN, COBOL, LISP, BASIC 1960s to 1970s (ALGOL-based) Pascal and others 1970s to 1980s Prolog, C, Ada 1980s to 1990s C++, ML, Perl, Java

Paradigm Change For example, from Structured to Object-Oriented Arises from problems encountered in one paradigm but addressed in another Case study: from C to C++ Evolution from structured, to modular, to object-based, to object-oriented programming

Object-Oriented Programming Incorporates both encapsulation and inheritance through the class concept Focus is on writing good classes and on code reuse Examples Shape, Circle, and Rectangle in a drawing program Employee, Faculty, Staff in a university personnel system

Imperative Programming IT 240

Imperative Programming Variables, assignment, sequencing, iteration, procedures as units State-based, assignment-oriented Global variables, side effects Program units: Data (Variables) and Computation (Statements and Routines)

Data and Computation Binding Data Computation Variables Data types Assignments and expressions Control structures Subprograms / routines

Modularity Interface and Implementation Compilation Libraries Independent Separate Libraries