COCS3308               Assignment-1		Due: Monday, 9/18/2006.
	         Language Evaluation Criterion Comparison   
			
	Task:
	You are compare two sets of language evaluation criteria and
	turn in a well-written report of no more than 6 pages.
	
	Requirements:
	Your report should include:
	  	a. Reference from which the two criteria sets are taken (of
		   course, one of them may be our textbook)
		b. Concise description of each criterion being cited and
		   its importance/relevance, and its relation to other criteria.
		c. Your own opinion about the major differences between the two sets
		   in terms of emphasis, overall classification scheme of various criteria,
		   any conflicts/duplications, etc.
		d. Your criticism on the author's presentation or description and/or 
		   your opinion about how it could be improved.
	
	References:
		a. The Theory and Practice of Compiler Writing, By Jean-Paul
		   Tremblay, et al.
			Human Communication, Error prevention/detection,
			Usability, Effectiveness, Compilability, Efficiency,
			Machine independence, Simplicity, Uniformity, Orthogo-
			nality, Generalization/Specialization,
		b. Programming Languages, by Allen Tucker.
			Expressivity, Well-definedness, Data types/structures,
			Modularity, I/O facilities, Portability, Efficiency,
			Pedagogy, Generality.
		c. Programming Languag Landscape, by Michael Marcotty, et al.
			Redundancy, Abstraction, Orthogonality, Implementation.
		d. Programming Languages: Paradigm and Practice, by Doris 
		   Appleby.
			Well-defined description, Provability, Reliability,
			Fast translation, Efficient object code, Orthogonality,
			Generality, Consistent/common notations, Uniformity,
			Subsets, Extensibility, Portability.
		e. Programming Languages: Structures and models, by Herbert
		   L. Dershem, et al.
			Simplicity, Abstraction, Expressiveness, Orthogonality,
			Portability.
		f. Comparing and Assessing Programming Languages, by Alan Feuer,
		   et al.
			Syntax issues: Grammar Regularity, Readability/Intelli-
				gibility, Synonyms/Aliasing, Abstraction Faci-
				lities.
			Data issues:   Data Types, Data definition/representa-
				tion, Interaction between Data and Operations,
			Control Issues:Local control, Non-local control.
			Efficiency, Decomposition, System assembly, Maintenance/
			Enhancement.