allyson m. hoss, january 14, 2008 csc 7101 programming language structures spring 2008 louisiana...

22
Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

Upload: leonard-goodwin

Post on 21-Jan-2016

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

Allyson M. Hoss,

January 14, 2008

CSC 7101 Programming Language Structures

Spring 2008

Louisiana State University

Page 2: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

2

CSC 7101 Programming Language Structures

• Introduction

• Syllabus

• Paper & Presentation

• Overview

Page 3: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

3

Instructor: Allyson M. Hoss

Office: SE Lab, Coates Hall 162

Hours: Monday 1:30 pm – 4:30 pm

Other times by appointment

Phone: 578-1406 (M 1:30-4:30pm)

Email (preferred): [email protected]

CSC 7101 Programming Language Structures

Page 4: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

4

Who

What

When

Where

How

Why

Page 5: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

5

Introduction

• Who …….. Name?

• What ……. PhD or Masters?

• Why …….. Love of PL, General Exam, …?

• When …… take General Exam?

• Where ….. Academia or Industry?

• How …….. Many papers have you written

in CSC?

Page 6: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

6

CSC 7101 Programming Language Structures

• Introduction

• Syllabus

• Paper & Presentation

• Overview

Page 7: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

7

CSC 7101 Programming Language Structures

Objectives Learn formal models of programming language

syntax and semantics

  Understand construction of correct programs and their verification

  Explore language design issues

  Research current topics in programming language

  Improve research writing and presenting skills

Page 8: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

8

CSC 7101 Programming Language Structures

• Introduction

• Syllabus

• Paper & Presentation

• Overview

Page 9: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

9

Paper and Presentation

• Select a research topic in programming languages

search the Web for open issues & research directions

explore what interests you

• write a summary paper approximately 10 pages double-spaced

5-8 sources (3 major; 3 recent)

• give an oral presentation 15 minutes

Page 10: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

10

Paper and Presentation

Staged DeliveryTopic & References: January 28th

Outline: February 11th

Initial Slides: March 24th

Final Slides & Paper: April 7th

Presentation: April 7th - 28th

Page 11: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

11

CSC 7101 Programming Language Structures

• Introduction

• Syllabus

• Paper & Presentation

• Overview

Page 12: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

12

Overview

What is a Programming Language?

“notational system intended primarily to

facilitate human-machine interaction” [Schalkoff07]

Page 13: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

13

Basic Forth Awk

Python Eiffel APL Lisp

HTML ML Ada

JavaScript Logo

VBScript dBASE

MATLAB APL SNOBOL

Page 14: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

14

Top 10 Most Popular

1967Algol 60, APL, Basic, BCPL, COBOL,

Fortran IV, Lisp 1.5, PL/I, Simula 67, SNOBOL

2007Java, C, Visual Basic, C++, PHP, Perl, C#,

Python, JavaScript, Ruby

[TIOBE Programming Community Index; www.tiobe.com]

Page 15: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

15

Overview

• Why Study PL? language features or capabilities to speed

development learn new languages more quickly and

efficiently understand underlying implementation issues modify or design new languages

Obtained from [Shalkoff 07]

Page 16: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

16

Overview

• Why Study PL?

• To help answer questions such as: How do you choose a PL? How do you tell someone about a PL? How do you describe what a program does? How do you describe what a program is supposed to do?

Obtained from [Shalkoff 07]

Page 17: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

17

Overview

• Programming Language Paradigms

Procedural or Imperative (C, C++, Java) Functional (Lisp, Scheme, ML) Declarative or Logic (Prolog) Object-oriented (Java, C++, Eiffel)

Rule-based, Event-driven, Parallel or Concurrent,Scripting, Markup, Specification, Assembly, Visual, …

Page 18: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

18

Overview

FORMAL FORMAL

SYNTAX SEMANTICS

Static Dynamic

BNF attribute grammars operational

(Backus axiomatic

Naur denotational

Form)

Page 19: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

19

Overview

• Functional Programming & Lambda Calculus ML (Meta-Language)

• Logic Programming Prolog

• Type Systems static vs dynamic strongly vs weakly typed monomorphism vs polymorphism coercions, overloading

Page 20: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

20

Page 21: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

21

Assignment # 1 Due January 28th

Reading – 3 Papers:“On Understanding Types, Data Abstraction, and Polymorphism”

“The Semicolon Wars”

“Software and the Future of Programming Languages” 

Research Paper:

Describe your chosen research topic

List sourcesTopics must be unique - approved on a FCFS

(You can email me this information before the due date)

Page 22: Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University

22

No

Class

Next Week