Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Project 50%
– I, II 10% each
Language Design – III, IV 15% each
and
Overview of COOL • Midterm 15%
• History of ideas:
– Abstraction • Programmer training is the dominant cost
– Types – Languages with many users are replaced rarely
– Reuse – Popular languages become ossified
• Cool – But easy to start in a new niche . . .
• Application domains have distinctive and • No universally accepted metrics for design
conflicting needs
• Claim: “A good language is one people use”
• Examples:
1
Language Evaluation Criteria History of Ideas: Abstraction
2
Cool Overview A Simple Example
• Methods are global • Each object knows how to access the code of a
method
• Attributes are local to a class • As if the object contains a slot pointing to the code
– They can only be accessed by the class’s methods x y movePoint
0 0 *
• Example: • In reality implementations save space by sharing
class Point { these pointers among instances of the same class
. . .
x y methods
x () : Int { x }; 0 0
setx (newx : Int) : Int { x newx }; movePoint
}; *
Prof. Aiken CS 143 Lecture 2 17 Prof. Aiken CS 143 Lecture 2 18
3
Inheritance Cool Types
4
Cool Memory Management Course Project
• Individual or team
– max. 2 students