1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.

Slides:



Advertisements
Similar presentations
Adapted from Scott, Chapter 6:: Control Flow Programming Language Pragmatics Michael L. Scott.
Advertisements

Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Introduction to Programming Languages Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Language Paradigms Programming languages. Language paradigms. World view of imperative languages. World view of functional languages. World view.
you admittance to the “show”.
Language Specfication and Implementation - PART II: Semantics of Procedural Programming Languages Lee McCluskey Department of Computing and Mathematical.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
1 ) Definition 2) Note on structured and modular programming, and information hiding 3) Example imperative languages 4) Features of imperative languages.
ISBN Chapter 5 Names, Bindings, Type Checking, and Scopes Names Variables The Concept of Binding Type Checking Strong Typing Type Compatibility.
Programming Languages Structure
Introduction and Syntax. Course objectives Discuss features of programming languages. Discuss how the features are implemented in a simple computer architecture.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Chapter 1: Introduction Spring 2006.
Comp 205: Comparative Programming Languages Imperative Programming Languages Functional Programming Languages Semantics Other Paradigms Lecture notes,
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)
ISBN Chapter 2 Evolution of the Major Programming Languages.
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.
314450: PROGRAMMING PARADIGMS Teaching scheme: Examination Scheme: Lectures: 3 Hours/Week Theory: 100 Marks OBJECTIVE: To understand the basic building.
PROGRAMMING LANGUAGES The Study of Programming Languages.
Overview. Copyright © 2006 The McGraw-Hill Companies, Inc. Chapter 1 Overview A good programming language is a conceptual universe for thinking about.
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.
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
Chapter 1. Introduction.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
COP 4020 Programming Langauges Dr. Roy Levow –Office hours: M 5-6:30 – –
By Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion (Algol,
Programming Languages and Design Lecture 7 Subroutines and Control Abstraction Instructor: Li Ma Department of Computer Science Texas Southern University,
Bindings and scope  Bindings and environments  Scope and block structure  Declarations Programming Languages 3 © 2012 David A Watt, University.
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
Introduction A variable can be characterized by a collection of properties, or attributes, the most important of which is type, a fundamental concept in.
CS 345: Programming Language Paradigms Chris Brooks HR 510 MWF 11:00-12:05.
The Evolution of Programming Languages Day 2 Lecturer: Xiao Jia The Evolution of PLs1.
Programming Languages
CS 331, Principles of Programming Languages Chapter 1.
Logical and Functional Programming
Engr. Isabelo Jun D. Paat, ME-CoE Lecturer 1 Programming Languages.
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.
Copyright © 2009 Elsevier Chapter 6:: Control Flow Programming Language Pragmatics Michael L. Scott.
A Short History of PL's (MacLennan 1999) “Zeroth Generation” (1940's-50's): machine language / assembly: if/then, read/write, store, goto
Structure of Programming Languages – CS43101 Fall 2004 Paul J Durand.
CS 2303 Systems Programming Concepts Bob Kinicki A08.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically.
Language Paradigms CS655.
CPS120 Introduction to Computer Science High Level Language: Paradigms.
Programming Language History and Evolution
Programming Languages 2nd edition Tucker and Noonan
CSC 533: Programming Languages Spring 2016
The language focusses on ease of use
CSC 533: Programming Languages Spring 2015
Concepts of Programming Languages
Why study programming languages?
Programming Language Design Concepts
Programming Language History and Evolution
Evolution of programming languages
Chap. 6 :: Control Flow Michael L. Scott.
Programming Language Design
Chap. 6 :: Control Flow Michael L. Scott.
Programming Languages 2nd edition Tucker and Noonan
Principles of Programming Languages
Overview of Programming Paradigms
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Presentation transcript:

1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of programming languages and paradigms. © 2004, D.A. Watt, University of Glasgow

1-2 Programming linguistics  Programming linguistics is the study of programming languages (PLs).  This is by analogy with linguistics, the study of natural languages (NLs): Both PLs and NLs have syntax (form) and semantics (meaning).  However, NLs are far broader, more expressive, and more subtle than PLs.  Also, linguists are limited to studying existing NLs. Computing scientists can design, specify, and implement new PLs.

1-3 Properties  A PL must be universal – capable of expressing any computation. A language without iteration or recursion is not universal. A language of recursive functions (and nothing else) is universal.  A PL should be reasonably natural for expressing computations in its intended application area.  A PL must be implementable – it must be possible to run every program on a computer.  A PL should be capable of acceptably efficient implementation.

1-4 Concepts  Concepts are building blocks of programs and PLs: values and types variables and storage bindings and scope procedural abstraction data abstraction generic abstraction (not covered in this course) concurrency (not covered in this course).

1-5 Paradigms  A paradigm is a style of programming, characterized by a particular selection of key concepts.  Imperative programming: variables, commands, procedures.  Object-oriented (OO) programming: objects, methods, classes.  Concurrent programming: processes, communication.  Functional programming: values, expressions, functions.  Logic programming: assertions, relations.

1-6 Syntax, semantics, and pragmatics  A PL’s syntax is concerned with the form of programs: how expressions, commands, declarations, and other constructs must be arranged to make a well-formed program.  A PL’s semantics is concerned with the meaning of (well- formed) programs: how a program may be expected to behave when executed on a computer.  A PL’s pragmatics is concerned with the way in which the PL is intended to be used in practice. Pragmatics include the paradigm(s) supported by the PL.

1-7 Language processors  A language processor is a system for processing programs – either executing them or preparing them for execution.  Language processors include: compilers interpreters source-code editors symbolic debuggers.

1-8 Historical development (1) OOimperativeconcurrent 1985 functional Fortran Cobol Algol60 Lisp Simula Smalltalk ML Pascal PL/I C Modula Algol68 C++ Ada83

OOimperativeconcurrentfunctional Ada83 C++ Historical development (2) Java C# Haskell Ada95