CS 2135 Homework 6: Looking at Languages

Due: February 21 (Thursday) at 11:59pm via turnin (assignment name hwk6).

Assignment Goals


The Assignment

  1. Paul Graham wrote the original software for setting up on-line stores that Yahoo! currently uses. He wrote it in Lisp, which is a close cousin to Scheme (very similar syntax, constructs, and features). Graham's article, Beating the Averages, discusses why he believes Lisp gave his million-dollar startup a competitive advantage. Read the article.

  2. In another article, Graham provides a surface-level critique of Java. Read the article. In your own words, state three questions that Graham's article teaches you to ask when approaching a new language.

  3. In class on Friday, we talked about how languages are everywhere once you get used to looking for them. In general, a language is the repository of knowledge and goals that emerge from a domain of human activity. Computer science is replete with such examples (optimization problems led to OPL, database query optimization gave rise to SQL, scripting needs brought forth Awk and Perl, and so on). But humans have done this for much longer than computers have been around.

    Your task is to find a non computer science ``language'' used for some activity by some subset of humans. Explain the community of people and what they share. Now, evaluate this language as you would a programming language.

    Example: Consider (Western) musical score. The community is that of musicians, and the activity is capturing the music. I won't bother elaborating on the data and control elements here (but you should for the language you choose). A sample ``interpreter'' is a pianist who ``runs'' the score on a piano; the score's ``value'' is the sound we hear. Programs that read score and produce the music should be feasible to write.

    Be creative. You will be rewarded for your creativity. (If you pick something either too narrow or too broad (such as English or Esperanto), you will fare poorly.) Be brief. You will either nail it or be all at sea. It doesn't take much to tell one from the other. A few paragraphs, at most a page, will suffice.


What to Turn In

Turn in a single file hwk6.txt containing your answers. Make sure that both students' names are in a comment at the top of the file.


Back to the Assignments page