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
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
write explaination................
ReplyDeletewrite explaination.........
ReplyDelete