Project 1 -- Independent study
Assigned: Monday, 2 April 2007
Due: Monday, 16 April 2007
For this assignment, you will choose a language from among those we haven't
already studied and produce:
- a short paper (7-10) pages on it, discussing, as necessary
- symbols, syntax, semantics, pragmatics
- advantages/disadvantages over languages you already know
- functional/declarative characteristics
- imperative characteristics
- object-oriented characteristics
- time-to-competency, time-to-mastery, power
- orthogonality of commands and data structures
- memory models and execution characteristics
- operating system integration, concurrency
- binding times for types, functions, variables, values, etc.
- a short (7-10 minute) presentation on your language, including
- a demo of your own creation showing salient features of the language
Try to choose a general-purpose language; talk with me if you have other ideas.
You may combine this project with your final project but will need to do an
equivalent amount of additional work on the second as the first.
Languages can be imperative or declarative/functional, compiled or interpreted,
or esoteric, but should be "true" languages and not simply translators.
Possible choices:
- Scheme
- Perl or Python
- Ruby
- Unicon
- Eiffel
- Haskell
- Postscript
- APL/J
- Squeak
- Ada
- Forth
- ML
- Occam
- Dartmouth BASIC
- C#
- COBOL
- Simula
- Sisal
- SR
- and the ever-popular INTERCAL