CIS 400 Assignment 1 
                          Fall 1997


     For your first assignment you are to select one of the 
languages in the CIS 400 Programming Languages Guide (see the CIS 
400 web page) and evaluate its standard implementation. You are to 
assign the language a letter grade (A through E) for each 
criterion point listed below and to provide written justification 
for your rating. 


             Criteria for Language Design Evaluation

            1. efficiency (translation and execution)
            2. simplicity (readability and writability)
            3. orthogonality
            4. definiteness (syntax and semantics)
            5. reliability
            6. program verification (correctness)
            7. abstraction facilities (data and procedural)
            8. portability


     You are expected to use informed opinion as a part of your 
rating justifications. References should be mentioned in the text 
of your answer (eg. Wirth, 1978) and a complete reference list 
should appear at the paper's end. Chapters 1 - 3 from Sebesta 
provide a good starting point. However, you should consider using  
additional sources from the library (ie. the ACM SIGPLAN Notices, 
ACM Communications, IEEE Computer, Computer Selects). You must 
address each of the 8 criterion points individually for each 
language in your paper. I would suggest that you focus on the 
strengths and weaknesses of the languages as a means of limiting 
the length of your paper (I won't read more than 5 pages). This 
assignment will be due in two weeks.

     Please let me know by September 22nd what language you are 
planning to evaluate. You should post it as a response to the 
assignment 1 item in the CIS 400 net forum. No more than 5 
evaluations of the same language will be approved (so choose 
early).