Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Project Approach to Programming Language Theory Joan Krone Denison University.

Similar presentations


Presentation on theme: "A Project Approach to Programming Language Theory Joan Krone Denison University."— Presentation transcript:

1 A Project Approach to Programming Language Theory Joan Krone Denison University

2 2 Many Languages Natural6,912 Millennia to develop Programming 2,500 (U. of Kansas) 8,500 (Diarmuid Piggott) all within 50 years One language per week since Fortran based on the 2,500

3 3 Where Have All the Languages Gone? Assembler Fortran Basic Pascal PL1 Modula2 Ada C C++ Lisp/Scheme ML Clu Prolog Smalltalk Eiffel Python Perl Java PHP HTML

4 4 Recent Article Ryder, Soffa, Burnett, “The Impact of Software Engineering Research on Modern Programming Languages,” ACM TOSEM, 2005.

5 5 Paradigms Logic Structured Procedural OO Use of Abstraction (java interfaces)

6 6

7 7 Why Johnny Can’t Code David Brin Language for novices?

8 8 The Problem Maybe Basic Probably java Lack of student experience

9 9 Two Levels of Programming Language Courses Sophomore Level: survey Senior Level: capstone

10 10 A Two Pronged Approach Semester Project Daily assignments –Same questions –Different languages for different students

11 11 Project Choices 1.Become a guru. 2.Do a comparative analysis of 2 languages in the same category. C++ and Java Perl and HTML 3.Do a comparative analysis of 2 languages in the different categories. Java and Scheme Haskell and Python

12 12 4.Write a translator for a simple language. 5.Design a new language.

13 13

14 14 To Be a Guru Classify History Scoping Type Checking Support for Abstraction Concurrency Type Conversion

15 15 Write documentation Choose at least 3 features unique to your language and explain how those features can be used advantageously by a programmer to perform some task in your language more efficiently than it could be done in another language without those features. Be prepared to give a talk and a demonstration which illustrate how your language facilitates the implementation of solutions to problems.

16 16 Daily Requirement Choose a language Discover how that language handles a particular topic, such as scoping. Prepare a demo to illustrate the discovery

17 17 Class Size Small class - - individual investigations Large class - - groups of 2, 3, or 4

18 18 Programming Languages are Like Cars Assembler: A formula I race car. Very fast but difficult to drive and maintain. FORTRAN II: A Model T Ford. Once it was the king of the road. FORTRAN IV: A Model A Ford. FORTRAN 77: a six-cylinder Ford Fairlane with standard transmission and no seat belts. COBOL: A delivery van. It's bulky and ugly but it does the work. BASIC: A second-hand Rambler with a rebuilt engine and patched upholstery. Your dad bought it for you to learn to drive. You'll ditch it as soon as you can afford a new one. PL/I: A Cadillac convertible with automatic transmission, a two-tone paint job, white-wall tires, chrome exhaust pipes, and fuzzy dice hanging in the windshield.

19 19 Pascal: A Volkswagon Beetle. It's small but sturdy. Was once popular with intellectual types. LISP: An electric car. It's simple but slow. Seat belts are not available. PROLOG/LUCID: Prototype concept cars. FORTH: A go-cart. LOGO: A kiddie's replica of a Rolls Royce. Comes with a real engine and a working horn. APL: A double-decker bus. It takes rows and columns of passengers to the same place all at the same time but it drives only in reverse and is instrumented in Greek. Ada: An army-green Mercedes-Benz staff car. Power steering, power brakes, and automatic transmission are standard. No other colors or options are available. If it's good enough for generals, it's good enough for you. C++: A black Firebird, the all macho car. Comes with optional seatbelt (lint) and optional fuzz buster (escape to assembler). Java: All-terrain very slow vehicle.

20 20 Our Future C++ and Java forever? Probably Not Our students may be the designers of the next important language Hopefully, they will learn from history


Download ppt "A Project Approach to Programming Language Theory Joan Krone Denison University."

Similar presentations


Ads by Google