\documentclass{article}

\begin{document}
\begin{large}
\begin{center}
{\bf CSCE 330  Fall 2002} \\
{\sc Homework 1}\\
Assigned Wednesday, 02/8/28.  Due Monday, 02/9/2 \\
\end{center}
\end{large}
\vspace{0.5in}

(All references are to the textbook.  Some of the questions are taken from
other sources, including Robert W. Sebesta's {\em Concepts of
Programming Languages: Fourth Edition}, Addison-Wesley, 1999.)

1. Write a short paper on the costs of programming.  Discuss both the costs
involved in developing and maintaining programs and the costs involved in
running programs.  Discuss the role of the programming language for both.
[Exercise 1, textbook, p.32]

2. List the main features of your favorite programming language that can help
make programs easily maintainable.  Also discuss features that hinder
maintainability [Exercise 2, textbook, p.32].

3. Write a program that shows why the optimization mentioned in section 1.5.3
cannot be done in general for C or Java (your choice!).

4. What are the arguments for writing efficient programs even though hardware
is relatively inexpensive?

5. Recall that computer architecture is a major influence on programming 
languages, and "[most] programming
languages can be viewed as abstractions of an underlying von Neumann
architecture" [textbook, p.8].  Why the von Neumann architecture?  Also,
comment on the following statement, which 
Patterson and Hennessy label as a "fallacy": "Computers have been built
in the same, old-fashioned way for too long, and this antiquated model of
computation is running out of steam."  (Reference: Patterson, David A. and John
L. Hennessy.  {\em Computer Organization and Design}, p.29. 
Morgan Kaufmann, 1998.)

6. Short answer questions on history.
\begin{enumerate}
\item Which language is based on the principle of orthogonality?

\item Which language was designed by John McCarthy?

\item Name two languages designed by John Backus.  (You may need to do a little
research for this!)

\item What has been the dominant programming language for business applications
from 1960 to 1990 (at least)?

\item Name a declarative (logic-based) language.

\item Which two of the five languages you listed above were designed by
committee?

\end{enumerate}

\end{document}
