Coen 171

Winter 2000

 

Term Web Project

 

Background

 

Languages typically don’t develop in a vacuum. Instead, new languages are designed based on their designer’s delights and frustrations with other languages they’ve used. Because of this, some appreciation for those languages that have had significant impact over time is useful in understanding language design. In addition, examining collecting information about different languages together in one spot provides an easy way to contrast the kind of features various languages provide and to see the various ways in which languages provide similar kinds of data and control structures.

 

There have been two large conferences on the History of Programming Languages, the first in 1978 and the second in 1993. Each conference featured papers about significant languages, written by the principle designer of each language. The Proceedings also include transcripts of question-answer sessions and summaries of the language features.

 

Assignment

 

Each group of three or four students will be assigned one language covered in one of the Proceedings. They are to read the material on this language in the Proceedings, seek out other sources of information about the language. Each group should publish a report about their language on a web page. These reports should be as complete as you have time for, but at the very least must include information related to the four sets of points presented below. The reports should also include links to on-line resources about the language (if they exist) and a sample program written in the language to give readers a feel for the language.

 

Topics to Consider

 

1.                   What year was the language created? What other languages influenced it most? What were the most significant objectives to be achieved by the language? Was the language based mostly on one language or many? Is the language compatible with other existing languages? Was the language created for commercial, research, or educational purposes? What other languages have been influenced by it?

2.                   To what paradigm does the language belong? Was the choice of paradigm an important consideration in development of the language? How is the language typically implemented?

3.                   What are the biggest problems encountered during design, implementation, and use of the language?

4.                   Describe some of the features of the language (much as Sebesta has done for the various concepts covered in the text), such as operations; control structures; primitive, aggregate, and user-defined data structures; and program structuring mechanisms.

 


Resources

 

The Proceedings of the two History of Programming Languages conferences have been placed on reserve in the library. Note that there are language summaries for each language that should probably be read first. The papers are relatively long (80 – 100 pages), so be sure to allow time to read them. You can start looking for Web resources at Yahoo’s programming languages directory (http://dir.yahoo.com/Computers_and_Internet/Programming_Languages/).

 

Advice

 

The Web pages don’t have to be fancy. I suggest writing in a word processor or other medium that allows you to export HTML documents. This is also a good chance to take advantage of the hierarchical nature of Web documents. Don’t put up 15 pages of text in a single document. Structure the document so that following various links takes you through a high-level overview or draws you down into more detailed discussion of various features. Please make any links within the documents you create relative, so that we can later move these pages to a single location to provide a resource useful to other students.