Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of."— Presentation transcript:

1 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

2 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.

3 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.

4 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).

5 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.

6 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.

7 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.

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

9 1-9 1980 1985 1990 1995 2000 2005 OOimperativeconcurrentfunctional Ada83 C++ Historical development (2) Java C# Haskell Ada95


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

Similar presentations


Ads by Google