B.Tech Programming Language – Evaluation Criteria

Language Evaluation Criteria
• Readability: the ease with which programs can be read and understood
• Writability: the ease with which a language can be used to create programs
• Reliability: conformance to specifications (i.e., performs to its specifications)
• Cost: the ultimate total cost

Evaluation Criteria: Readability
• Overall simplicity
– A manageable set of features and constructs
– Few feature multiplicity (means of doing the same operation)
– Minimal operator overloading
• Orthogonality
– A relatively small set of primitive constructs can be combined in a relatively small number of ways
– Every possible combination is legal
• Control statements
– The presence of well-known control structures (e.g., while statement)
• Data types and structures
– The presence of adequate facilities for defining data structures
• Syntax considerations
– Identifier forms: flexible composition
– Special words and methods of forming compound statements
– Form and meaning: self-descriptive constructs, meaningful keywords

Evaluation Criteria: Writability
• Simplicity and orthogonality
– Few constructs, a small number of primitives, a small set of rules for combining them
• Support for abstraction
– The ability to define and use complex structures or operations in ways that allow details to be ignored
• Expressivity
– A set of relatively convenient ways of specifying operations
– Example: the inclusion of for statement in many modern languages

Evaluation Criteria: Reliability
• Type checking
– Testing for type errors
• Exception handling
– Intercept run-time errors and take corrective measures
• Aliasing
– Presence of two or more distinct referencing methods for the same memory location
• Readability and writability
– A language that does not support ―natural‖ ways of expressing an algorithm will necessarily use ―unnatural‖ approaches, and hence reduced reliability

Evaluation Criteria: Cost
• Training programmers to use language
• Writing programs (closeness to particular applications)
• Compiling programs
• Executing programs
• Language implementation system: availability of free compilers
• Reliability: poor reliability leads to high costs
• Maintaining programs

Evaluation Criteria: Others
• Portability
– The ease with which programs can be moved from one implementation to another
• Generality
– The applicability to a wide range of applications
• Well-definedness
– The completeness and precision of the language‘s official definition.

B.Tech Progamming Language Concepts

Topics
1. Reasons for Studying Concepts of Programming Languages
2. Programming Domains
3. Language Evaluation Criteria
4. Influences on Language Design
5. Language Categories
6. Language Design Trade-Offs
7. Implementation Methods
8. Programming Environments

1.1 Reasons for Studying Concepts of Programming Languages
1. Increased ability to express ideas
1. The depth at which people can think is influenced by the expressive power of the language in which they communicate their thoughts
2. The language in which programmers develop software places limits on the kinds of control structures, data structures, and abstraction they can use
1. Awareness of a wider variety of programming language features can reduce such limitations in software development
3. Languages constructs can be simulated in other languages that do not support those constructs directly;
however, the simulation is often
1. less elegant
2. more cumbersome
3. less safe

2. Improved background for choosing appropriate languages
3. Increased ability to learn new languages
4. Better understanding of significance of implementation
1. Program bugs
2. Performance

5. Overall advancement of computing

1.2 Programming Domains
• Scientific applications
– Large number of floating point computations
– Fortran
• Business applications
– Produce reports, use decimal numbers and characters
– COBOL
• Artificial intelligence
– Symbols rather than numbers manipulated
– LISP
• Systems programming
– Need– C
• Web Software
– Eclectic collection of languages: markup (e.g., XHTML), scripting (e.g., PHP), general-purpose (e.g., Java)

error: Content is protected !!