Wednesday 4 January 2012

QUESTION 2


EXPLAIN CRITERIA FOR THE LANGUAGE DESIGN


Language Design Criteria
• Efciency
• Regularity
• Simplicity
• Expressiveness
• Machine independence
• Security
• Consistency
• Preciseness
• Extensibility/Restrictability


1) E!ciency (Cost)
• Execution
• Translation
• Implementability
• Programming
• Maintenanc

2) Regularity
• language feature integration
– restrictions on use of features
– strange interactions
– surprises about behavior
• three subcategories
– generality
– orthogonality
– uniformity

3)Simplicity
• Pascal, Basic and C are simple
• di!cult to achieve
• not regularity – Algol 68
• not small number of constructs
• can make use complex
• the trade-o" between orthogonality and simplicity is a central decision in language design

4)Expressiveness
• Ease with which language can
express complex processes
and structures
• example: recursion (Lisp, Algol 60)
• in conflict with simplicity three loops (while, for, repeat)
expressive but not simple
• may not be readable string copy from K&R
while(*s++ = *t++)


5) Machine Independence
• hard to impossible
• example: floating point numbers
• isolate and identify dependencies

6) Security
• discourage programming errors
• allows errors to be discovered and
reported
• features that support security
– typing, type checking
– variable declarations
– subscript range checking
• at odds with expressiveness and conciseness

7) Consistency 
• should be easy to learn byexperienced programmers
• standard concepts should berecognizable
fns, vars, if, while

8) Preciseness
• precise definitionmanual or standards document
• benefit: predictable translator
• should be comprehensibleAlgol 68 used W-gramma

9) Extensibility/Restrictability
• extensibility examples:user-defined types, fns from libraries
• restrict to a useful subset

2 comments: