CPS 206 Student Expectation List
To cover most classes of the current languages
ANSWER: We'll talk about these language classes, but not probably program in them.
To have a general and concrete idea of the language design process
ANSWER: Yes
Concepts behind implementing languages that exploit parallelism via threads
ANSWER: Yes
Necessary steps, focussed upon theory aspects, in porting existing languages w/beneficial libraries/classes that would address need above.
ANSWER: Not sure I understand this
Benefits of class and classless languages for "proprietary" language design
ANSWER: Only by implication
Existing languages -- why they are the way they are --features -- and why one would choose to use one language versus another. Compare/contrast languages.
ANSWER: Yes
How to design a language
ANSWER: Well, maybe ONE WAY to design a language
How to evaluate the language
ANSWER: Again, only one (concensus of the class) way to do this
Know the evolution of programming languages
I'll talk about what I know of this process, but there ARE evolutionary paths I'm not familiar with
History of computer language design à modern language development
Understanding of "behind the scenes" actions of simplified languages
ANSWER: Yes
Compare different languages to learn why some are so popular
ANSWER: Yes, but we may not get final answers
What do we need to do to design a "good" or "successful" language
ANSWER: Yes, but we may not get final answers
Basic concerns in designing a language
ANSWER: Yes
Psychological aspects of Programming language design
ANSWER: Not in this course
What makes a language more suitable for a specific application
ANSWER: We'll discuss this
Programming language and software engineering
ANSWER: We'll discuss this
Security issues of certain programming languages
ANSWER: Not in this course
Concurrent languages
ANSWER: Yes
Understand how languages have evolved to be the way they are currently (historical view -- what are the issues that shaped the development of languages)
ANSWER: Maybe
What are the issues currently being faced by language designers that will influence the directions languages will move in the future
You should have opportunity to study this on your own, maybe motivated by the project
How can my understanding of the choices involved in developing a language improve my ability to use it (program in it)?
Understanding these choices may simply motivate you to choose a different language, or to design your own, Maybe an extension to the current language…