Languages we will study as a class

Compiled

Procedural languages (imperative languages)

  • FORTRAN – small team – mid 50s IBM  John Backus

            High level language to produce code as efficient & fast as assembly language

 

  • Pascal – single person – Nicklaus Wirth – 70’s teaching language

 

  • Ada – 1983 – large scale design and development effort sponsored by DOD

 

String Processing - Snobol   Ralph Griswold

 

Interpreted

Functional Language

John McCarthy – Lisp – list processing – MIT artificial intelligence lab  interpreted

 

Logic Language - Prolog – programming in logic  - alain colmaureur

 

Compilers and interpreters are translators

The most significant distinction between them is that compilers translate the source code once  and interpreters translate the code every time program is run.   Most languages are either compiled or interpreted.  Java and UCSD Pascal are examples of languages that are both translated and interpreted.  The source code is compiled into an intermediate for which is stored.  That intermediate form is interpreted every time the program is run

 

 

Why take a survey of programming languages course?

  • Required
  • To recognize common features of programming languages
  • To learn about the different flavors of programming languages
  • Makes it easier to find a job where one of the old languages is being used by the employer
  • To learn how to determine what the most appropriate langue for the task at hand is
  • Helps you develop the ability to learn a new programming language

 

 

Types of statements found in all programming languages

    1. Input
    2. Output
    3. Assignment
    4. Selection
    5. Iteration

 

 

\Characteristics of all programming languages  - suggested by students (to be discussed)

  • Syntax
  • Logical structures
  • Ability to solve problem
  • Documentation
  • Storage capabilities

 

Handout on MiniLanguage Core

 

 

BNF  grammar – terminals, non-terminals, productions (rules), start symbol (goal symbol)