Final Project
You may work in pairs for this assignment.
For your final project, choose a programming language (approved by the
instructor) and learn to use it. Work from manuals and/or web pages.
Write an 8-10 page paper explaining the language. Your paper should
address the issues below (probably not in that order). This should be
an expository essay, not
just a bulleted list of short answers!
- Is the language functional, object-oriented, imperative,
logical, or something else?
- Is the language normally interpreted or compiled?
- Recommend a
good, free interpreter or compiler for the language and describe
your experience installing it.
- What is the BNF grammar for the language? (If this runs more than
a page or so, provide a URL for an on-line grammar instead.)
- Who invented the language and when?
- Is the language statically-typed?
- Are built-in operators usually prefix, infix, or postfix? What
about user-defined functions?
- What are functions called in this language? (Scheme calls them
procedures, Java calls them methods, Forth calls them words.)
- Is parameter passing call-by-reference, call-by-value,
call-by-name, call-by-need, or can the programmer choose from among
these?
- Illustrate several simple programs in the language.
- Write one nontrivial program in the language. The Scheme
interpreter in chapter 10 of The Little Schemer counts
as nontrivial. You may choose a different program with the
instructor's approval.
- What are the most common uses of the language?
- Find and explain a joke that only makes sense to users of the
language.
- What is the convention for identifiers in the language?
(Scheme
hyphenates-identifiers, java
capitalizesEachWordAfterTheFirst, and C either
separates_words_with_underbars or uses really shrtvrblnms.)
- Explain two unusual features or clever tricks used in the
language. (For example,
map and apply are unusual features of Scheme,
#define is an unusual feature of C, and Iterators are an
unusual feature of Java.)
You will also present your language to the class for roughly 45
minutes during the final exam period. Try to address many of the
same issues in your presentation.
Last modified: Wed Apr 14 15:42:49 PDT 2004