CS 3723 Programming Languages

Slides:



Advertisements
Similar presentations
Computational Models The exam. Models of computation. –The Turing machine. –The Von Neumann machine. –The calculus. –The predicate calculus. Turing.
Advertisements

Adapted from Scott, Chapter 6:: Control Flow Programming Language Pragmatics Michael L. Scott.
CSCI 330: Programming Language Concepts Instructor: Pranava K. Jha Control Flow-II: Execution Order.
1 If we modify the machine for the language from F12 p. 47 we can easily construct a machine for the language Observation Turing machine for the language.
Language Paradigms Programming languages. Language paradigms. World view of imperative languages. World view of functional languages. World view.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 12 Imperative Programming I really hate this.
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
CIS 197 Computers in Society Professor John Peterson Philosophy Week!
Programming Languages Structure
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
Presented by Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion.
Programming Paradigms cs784(Prasad)L5Pdm1. Programming Paradigm A way of conceptualizing what it means to perform computation and how tasks to be carried.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
Like our natural language. Designed to facilitate the expression and communication ideas between people and computer Like our natural language. Designed.
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
Computer Architecture Computational Models Ola Flygt V ä xj ö University
ProgrammingLanguages Programming Languages Computational Paradigms.
CS 363 Comparative Programming Languages
The College of Saint Rose CIS 433 – Programming Languages David Goldschmidt, Ph.D. from Concepts of Programming Languages, 9th edition by Robert W. Sebesta,
Programming Paradigms Procedural Functional Logic Object-Oriented.
By Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion (Algol,
CS 326 Programming Languages, Concepts and Implementation Instructor: Mircea Nicolescu Lecture 8.
CS 345: Programming Language Paradigms Chris Brooks HR 510 MWF 11:00-12:05.
Jigar Gaglani.  Programming paradigm is a fundamental style of computer programming  Paradigms differ in concepts and abstractions used to represent.
TIVDM2Functional Programming Language Concepts 1 Concepts from Functional Programming Languages Peter Gorm Larsen.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
Logical and Functional Programming
Spring, 2011 –– Computational Thinking – Dennis Kafura – CS 2984 Lambda Calculus Introduction.
Review for Test 2 Chapters 5 (start at 5.4), 6.1, , 12, 13, 15.1, Python.
Object Oriented Programming Some Interesting Genes.
Functional Programming
Programming Languages 2nd edition Tucker and Noonan
Functional Programming
CSC 533: Programming Languages Spring 2016
CSC 533: Programming Languages Spring 2015
Programming paradigms
CS 3304 Comparative Languages
Unit – 3 :LAMBDA CALCULUS AND FUNCTIONAL PROGRAMMING
Introduction to formal languages and automata
Why study programming languages?
PROGRAMMING LANGUAGES
Objects as a programming concept
CS 326 Programming Languages, Concepts and Implementation
Information Science and Engineering
CS 326 Programming Languages, Concepts and Implementation
CS 326 Programming Languages, Concepts and Implementation
CS 320 Principles of Programming Languages
1.#.
Functional Programming in a Nutshell with Haskell and F#
Turing Machines, Busy Beavers, and Big Questions about Computing
Evolution of programming languages
11/10/2018.
CS 3304 Comparative Languages Fall 2011
Chap. 6 :: Control Flow Michael L. Scott.
Control Flow Chapter 6.
Procedural versus Functional Programming
Chap. 6 :: Control Flow Michael L. Scott.
CS 3304 Comparative Languages Fall 2011
Programming Languages 2nd edition Tucker and Noonan
Programming Paradigms and Languages
Programming Languages 2nd edition Tucker and Noonan
Von Neumann Architecture
Principles of Programming Languages
Overview of Programming Paradigms
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Class 31: Universal Turing Machines CS200: Computer Science
The Nature of Computing
CSE S. Tanimoto Lambda Calculus
Programming Paradigms
Programming Paradigms and Languages
Presentation transcript:

CS 3723 Programming Languages Kevin Baldor www.cs.utsa.edu/~kbaldor

Why are you here?

Why are you here? Why learn more than one programming language?

Why are you here? Why learn more than one programming language? How many can there possibly be?

Why are you here?

Why are you here?

Why are you here?

How did we get into this mess?

How did we get into this mess?

How did we get into this mess? Alonzo Church

How did we get into this mess?

How did we get into this mess?

How did we get into this mess? Benedict Cumberbatch

How did we get into this mess? Benedict Cumberbatch

How did we get into this mess? Alan Turing

How did we get into this mess? Alan Turing

How did we get into this mess? Alonzo Church

How did we get into this mess? Alan Turing

How did we get into this mess? Say, how do you suppose that we might model a mechanical means of computation? Alonzo Church

How did we get into this mess? Alan Turing

How did we get into this mess? Alan Turing

How did we get into this mess? Alan Turing

How did we get into this mess? Alan Turing

How did we get into this mess? Alan Turing

How did we get into this mess? Alan Turing

How did we get into this mess? Alonzo Church

How did we get into this mess? Alonzo Church

How did we get into this mess? Alonzo Church

How did we get into this mess? Alonzo Church

How did we get into this mess? Alonzo Church

How did we get into this mess? Alonzo Church

Turing had a bit of help. John Von Neumann

Two models so far! Turing Machines Lambda Calculus More like an actual machine State-modifying Order-of-operation is important Lambda Calculus Symbolic Expression transformations Order-of-operations (when legal) is not important

But what does this have to do with real-world programming languages? Different people can be more effective solving the same problem in different ways Personal Preference Some problems are more easily solved using one paradigm than another

Broad Categories of Language Features Imperative Structured Object-Oriented Functional Logical

Imperative Languages Statements the modify variables

Structured "GOTO considered harmful"

Object-Oriented Structured, but the data is coupled to the methods that modify it. Emphasis on Abstraction Encapsulation Often, but not always, inheritance.

Functional Emphasis on pure functions No side effects Calling a function with the same arguments always returns the same value

Logic Declarative programming style The programmer specifies what she wants, not how to get it Prolog (PROgrammable LOGic) is the classic example, but SQL could qualify as well.