Upload
elizabeth-hampton
View
218
Download
2
Embed Size (px)
Citation preview
2
Many Languages
• Natural 6,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
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
Recent Article
Ryder, Soffa, Burnett, “The Impact of Software Engineering Research on Modern Programming Languages,” ACM TOSEM, 2005.
10
A Two Pronged Approach
• Semester Project
• Daily assignments – Same questions– Different languages for different students
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
14
To Be a Guru
• Classify
• History
• Scoping
• Type Checking
• Support for Abstraction
• Concurrency
• Type Conversion
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
Daily Requirement
• Choose a language
• Discover how that language handles a particular topic, such as scoping.
• Prepare a demo to illustrate the discovery
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
• 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.