Homework #2
The Great Goto Debate
Due: in class in hard copy form 10/10/07 (next Wednesday).
If you believe this assignment is not fully specified, please tell me
ASAP, so that it can be fixed in a timely manner.
Goals of this assignment
The goals of this assignment are to learn about the downfall of the goto construct in programming languages and to take a look at where programming languages have gone with respect to constructs like goto.
Assignment Requirements
- Read the letter to the editor by Dijkstra titled, "Go To Statement Considered Harmful", in Communications of the ACM Vol. 11, Number 3, March 1968. It is available on-line through
the ACM Digital Library via the library (wally.rit.edu) and will be handed out in class
in hard copy. You are not responsible
for reading letters to the editor other than this letter.
- Read the paper, "A Linguistic Contribution of GOTO-less Programming",
by Lawrence Clark from Datamation, December, 1973. It
will be handed out in class in hard copy and is available outside of the
instructor's office.
- Read the letter titled "Why doesn't C# require exception specifications?" handed out in class and available from the web site: here.
- Write a 1-2 page paper (10 pt font and 2 pages if it's double spaced). All
papers should include a cover sheet with your name, class information, and
homework title. Papers should also be appropriately stapled before class.
The professor is not responsible for misplacing separate sheets of paper
that should be attached to one another. The paper should discuss the following topics:
- Dijkstra states that "The go to statement as it stands is just too primitive...".
Do you agree with him? Why or why not?
- What do you think of the COME FROM statement and the author's intentions by writing the article?
- Are exceptions better than the original go to?
- Java uses a type of expressions known as checked exceptions. Do you agree or
disagree with the letter regarding why C# doesn't use checked exceptions? Why or why not?
- How do you believe error conditions should be handled in a program?
Grading Criteria
This assignment will be graded out of 100 points and will have the following
breakdown:
- 55% - Student has read the papers and followed directions.
- 30% - The questions were answered and discussed.
- 10% - The discussion includes depth.
- 5% - The paper is well written without significant grammatical
and/or spelling errors.