a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically.

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

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.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
Programming Languages Structure
Chapter 8 High-Level Programming Languages Nell Dale John Lewis.
Comp 205: Comparative Programming Languages Imperative Programming Languages Functional Programming Languages Semantics Other Paradigms Lecture notes,
An Introduction to Programming with C++ Fifth Edition Chapter 1 An Introduction to Programming.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Part 1 Introduction (Chapter 1)
CS 331, Principles of Programming Languages Introduction.
1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
Programming Languages Lecture 12. What is Programming?  The process of telling the computer what to do  Also known as coding.
1 Programming Language Concepts Ethics Why study concepts of programming languages (PLs)? PL categories Influences on PL design Problem areas & needs that.
Chapter 8 High-Level Programming Languages (modified by Erin Chambers)
High-Level Programming Languages: C++
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
CS2303 C14 Systems Programming Concepts Bob Kinicki.
COMPUTER PROGRAMS AND LANGUAGES Chapter 4. Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions.
ISBN Chapter 2 Evolution of the Major Programming Languages.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
Chapter 1 - Introduction
By Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion (Algol,
1 Programming Languages Marjan Sirjani Course web site:
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
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Analysis of Programming Language Vladimir Viies Lembit Jürimägi Tallinna.
Chapter 6 Programming Languages (1) Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
CS 331, Principles of Programming Languages Chapter 1.
Engr. Isabelo Jun D. Paat, ME-CoE Lecturer 1 Programming Languages.
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Programming Languages
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.
1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.
CS 2303 Systems Programming Concepts Bob Kinicki A08.
Programming Language Theory 2014, 1 Chapter 1 :: Introduction Origin : Michael L. Scott School of Computer & Information Engineering,
Software Engineering Algorithms, Compilers, & Lifecycle.
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.
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 Language History and Evolution
Introduction to programming languages, Algorithms & flowcharts
Why study programming languages?
Introduction to programming languages, Algorithms & flowcharts
PROGRAMMING LANGUAGES
Problem Solving Using C: Orientation & Lecture 1
Programming Language History and Evolution
Developing Applications
Introduction to programming languages, Algorithms & flowcharts
Problem Solving.
Problem Solving Using C: Orientation & Lecture 1
CSE 341 Programming Languages Autumn 2001
CSE 341 Programming Languages Autumn 2003
CSE 341 Programming Languages Autumn 2002
High Level Programming Languages
CSE 341 Programming Languages Spring 2003
Problem Solving Using C: Orientation & Lecture 1
Principles of Programming Languages
Overview of Programming Paradigms
CSE 341 Programming Languages Autumn 2003
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Algoritmos y Programacion
Presentation transcript:

a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically correct programs CS/421 is not a programming course! CS/421 is not a survey of languages course!

Classification by “Power”  machine language - a program instruction is a number - programs are “understood” by computer hardware  assembler language - a program instruction is a mnemonic version of the corresponding machine instruction  high-level language - language constructs are designed with the programmer in mind  parallel language - a program is a group of tasks that execute simultaneously

Classification by Intended Application  general purpose … e.g. PL/1  scientific/engineering applications … e.g. FORTRAN  business applications … e.g.s COBOL, RPG  systems programming … e.g.s C, PL/S, Bliss  real time systems … e.g.s Ada, Jovial  list processing … e.g.s LISP, SLIP, Scheme  string processing … e.g.s Snobol, Icon  set processing … e.g. SETL  Web applications … e.g. Java  O.S. script programming … e.g.s Perl

Classification by User Interface  compiled Each program (the source code) must be translated into machine language form for execution.  interpreted The source code instructions are analyzed individually as they are executed.

Classification by Paradigm  imperative / procedural programming  program = sequence of instructions (usually including loops & procedures)  variables & assignments used liberally  key control structure: repetition (while/for)  key data structure: array  examples: Ada, C, Cobol, FORTRAN, Pascal, PL/1  functional / applicative programming  program = a function to be evaluated  key control structure: recursion  key data structure: list  examples: LISP, Scheme, ml

Classification by Paradigm (continued)  object-oriented programming  program = sequence of operations (methods) applied to objects  an object incorporates both data and associated operations  examples: Smalltalk, Eiffel, Java, C#  logic-based / relational programming  program = a collection of rules and goals  program execution is based on theorem proving concepts  example: Prolog

languageyearauthor(s)intended purpose FORTRAN1957J. Backus/IBMscientific LISP1958McCarthy (MIT)list processing (A.I.) ALGOL 58/ Intn’l committeegeneral COBOL1959Hopper/committeebusiness D.P. APL1960 Iverson/Harvard/IBMmatrices/scientific SNOBOL1962Griswold/Bell Labsstring processing BASIC1963Kemeny & Kurtzeducation PL/11963SHARE Com./IBMgeneral Simula1963Dahl et. al.general/simulation ALGOL Intn’l committeegeneral Bliss1971Wulf/CMUsystems programming Pascal1971Wirth/ETC-Zurichgeneral/education Prolog1972Colmerauer/Kowalskilogic-based (A.I.)

languageyearauthor(s)intended purpose C1972Ritchie/Bell Labssystems programming Conc.Pascal1975Hansen/CA-Techparallel programming Scheme1975 Steele/Sussman/MITlists/A.I. Euclid1977Committeeverifiable prog. Gypsy1977U of TXverifiable prog. Modula-21977Wirth/ETCgeneral ML1978Milner/EdinburghMachine-assisted proof Ada1979DOD committeereal-time Smalltalk1980Kay/Xerox PARCobject-oriented C++1986Stroustrup/Bell Labsobject-oriented C Eiffel1990Bertrand Meyerobject-oriented Java1994Gosling/SunWeb/object-oriented C#2001Microsoftbasis for.net