Language Evaluation Criteria:
Some of the language criterias to evaluate a programming language are:
Some of the language criterias to evaluate a programming language are:
- Readability
- Writability
- Reliability
- Cost
- Generality
- Extensibility
- Standardability
- Support for internationalization
- Readability: Coding should be simple and clear to understand.
- Simplicity: Should not involve complex syntax, many ways to perform a single task,overloading of methods and operator etc.
- Orthogonality: This means relatively small set of primitive constructs can be combine.
- For ex., int *count; Here pointer and integer is combined.
- Another ex., int count[ 5 ]; Here array and pointer is combine.
- Control Statements: There should be adequate control statements.
- Data Types and Structures: Language should involve adequate facilities for defining data types and data structure.
- For ex., timeout = 1; is unclear as compare to timeout = true;.
- Syntax Design: Syntax design affects the readability in the following way.
- Identifier forms: Restriction to very short length of identifier is a barrier to readability.
- Special words: Special words like while, for, class, int affects the readability of any language. If special words are allowed to be variable names than it will become confusing.
- Writability: Writability is a measure of how easily language can be used to code.Most of the language characteristics that affect readability also affect writability.
- Simplicity: Should not involve complex syntax, many ways to perform a single task,overloading of methods and operator etc.
- Orthogonality: This means relatively small set of primitive constructs can be combine.
- For ex., int *count; Here pointer and integer is combined.
- Another ex., int count[ 5 ]; Here array and pointer is combine.
- Support for Abstraction: Language should support process and data abstraction.
- Expressivity: In less lines of code program should be writable.
- For ex., for statements makes counting loops easier than while.
- Another ex., is i++ is more expressive than i=i+1.
- Reliability: A program is said to be reliable if it performs to irs specifications under all conditions.
- Type Checking: It is testing for type error, either at compile or run time.
- For ex., float percentage; is more desirable as compare to int percentage.
- Exception Handling: It is the ability of program to handle run time error. Remember, handling runtime error are more expensive than compile errors.
- Aliasing: It is same memory location (variable) having more than one name. Which is causes confusion.
- Readability: Readability influences reliability.
- Writability: Writability also influence reliability.
- Type Checking: It is testing for type error, either at compile or run time.
- Cost: Total cost of programming should be minimum.
- For ex., cost of trainer.
- Cost of writing algorithm.
- Cost of compiling program in the language.
- Cost of hardware required for program.
- Cost of maintenance.
- Generality: Language should not be limited to specific application only.
- Extensibility: Should be flexible, must be able to add new constructs.
- Standardability: Language should be platform independent.
- Support for Internationalisation: Various formats like time, date, currency etc should be supportable.
A lecture video on languge evaluation criteria
Click here to view on YouTube.
Previous years solved papers:
A list of Video lectures
References:
- Sebesta,”Concept of programming Language”, Pearson Edu
- Louden, “Programming Languages: Principles & Practices” , Cengage Learning
- Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill.
- E Horowitz, “Programming Languages”, 2nd Edition, Addison Wesley