COMP313A Programming Languages - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

COMP313A Programming Languages

Description:

know more about the huge variety of programming languages that are available nowadays ... Only data it can manipulate is sequences of zeros and ones. ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 16
Provided by: margaretj4
Category:

less

Transcript and Presenter's Notes

Title: COMP313A Programming Languages


1
COMP313A Programming Languages
  • Introduction

2
More Housekeeping Stuff
  • Reading Material
  • Textbook
  • Programming Languages Principles and Practice by
    Kenneth C. Louden, PWD Publishing Company, 2003
  • Course Website
  • Lectures are available on the course website
    before the lecture
  • Assignments will be available on the course
    website
  • As much as is practical this will be a paper free
    course
  • Journals e.g. ACM Transactions on Programming
    Languages and

3
More Housekeeping Stuff
  • Read the Course Outline
  • www.cs.waikato.ac.nz/Teaching
  • www.cs.waikato.ac.nz/mjeff/COMP313A
  • Check the Course Web Site regularly
  • Read your email regularly
  • If you send me an email question and dont want
    the reply to go to the rest of class state so
    explicitly.

4
Course Motivation
  • Why are programming languages the way they are?
  • How are particular language features
    implemented/supported?

5
Course Motivation cont
  • understand the underlying ideas of the main
    programming paradigms
  • know more about the huge variety of programming
    languages that are available nowadays
  • understand how the syntax and semantics of
    languages can be defined precisely.
  • know how important features are supported in
    several modern programming languages.
  • have a deeper understanding of the history and
    rationale behind languages like C.

6
Lecture Outline
  • Overview and History
  • Syntax and Parsing
  • Data Types
  • Control Structures ???
  • Functional Languages Issues
  • Logic Programming
  • Object-Oriented Language Issues

7
Programming languages you have used
Programming languages youve heard of
8
Why Programming languages?
9
What is a programming language?
  • From Louden (page 3)
  • A programming language is a notational system for
    describing computation in machine-readable and
    human-readable form.

10
What are programming languages
  • Computation
  • Anything that a computer can do
  • i.e. anything that is computable (by a Turing
    Machine)
  • Most programming languages are Turing Complete.
  • To be useful a programming language must
    interface to all the hardware devices and
    software packages that we need to use.

11
What are programming languages
  • Machine-readable
  • The language must have a fixed syntax so that
    machine (computer) can read/parse programs.
  • The language must have a fixed semantics so the
    computer knows what a program means and can
    execute it.

12
What are programming languages
  • Human-readable
  • Or preferably, human understandable
  • Much harder for larger programs
  • The main challenge is controlling complexity
  • main tool abstraction
  • The extent to which a programming language
    supports/enforces abstraction is an important
    issue

13
What are programming languages
  • The human-computer semantic gap
  • Human
  • Interested in modelling the real world
  • More interested in what computer should do than
    how
  • Computer
  • Only data it can manipulate is sequences of zeros
    and ones.
  • Understands low-level how instructions.

14
What are programming languages
  • High-level languages bridge the human-computer
    semantic gap by providing a higher level notation
    that can still be executed by computer

15
Language Implementation
  • Language definition
  • syntax, semantics
  • Language translation
Write a Comment
User Comments (0)
About PowerShow.com