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…