Computer Science 350 Programming Language Concepts Department of Computer Science University of Regina Fall 2016 Assignment 1 Hand out date: September 14, 2016 Due date: September 30, 2016 1. Briefly explain the main criteria in evaluating a programming language. Evaluate a language of your choice based on these criteria. 2. Find an article or book chapter on philosophy or principles of UNIX operating systems. Choose two particular principles and explain their connection to programming languages (as a designer and/or as a user). 3. Find a paper or book on structured programming. Briefly describe the main ideas of structured programming. (Provide complete reference information to the paper or book.) 4. Describe the influences of computer architectures and programming methodology on the development of programming languages. 5. Read the paper: Donald E. Knuth, Literate Programming. Describe briefly your view on "Literate Programming." Useful links: Unix philosophy http://en.wikipedia.org/wiki/Unix_philosophy The Art of Unix Programming http://www.faqs.org/docs/artu/ The Elements of Programming Style http://en.wikipedia.org/wiki/The_Elements_of_Programming_Style_(book) http://cs.boisestate.edu/~amit/teaching/handouts/style.pdf Structured programming http://en.wikipedia.org/wiki/Structured_programming Notes on Structured Programming http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD249.PDF