Class Notes (1,100,000)
US (480,000)
KSU (2,000)
CS (9)
Lecture 2

CS 33101 Lecture Notes - Lecture 2: Operator Overloading, Orthogonality, Recursive Definition


Department
Computer Science
Course Code
CS 33101
Professor
Younghun Chae
Lecture
2

This preview shows page 1. to view the full 4 pages of the document.
CS33101 - Day 2 August 29
Introduction to Programming Language
Evaluation Criteria: Readability
Overall Simplicity
o A manageable set of features and constructs
o Minimal feature multiplicity
o Minimal operator overloading
Orthogonality
o A relatively small set of primitive constructs can be combined in a relatively small
number of ways
o Every possible combination is legal
Data Types
o Adequate predefined data types
Syntax Considerations
o Identifier forms: flexible composition
o Special words and methods of forming compound statements
o Form and meaning: self-descriptive constructs, meaningful keywords
Evaluation Criteria: Writability
Simplicity and Orthogonality
o Few constructs, a small number of primitives, a small set of rules for combining
them
Support for Abstraction
o The ability to define and use complex structures or operations in ways that allow
details to be ignored
Expressivity
o A set of relatively convenient ways of specifying operations
o Strength and number of operators and predefined functions
Evaluation Criteria: Reliability
Type Checking
o Testing for type errors
Exception Handling
o Intercept run-time errors and take corrective measures
Aliasing
o Presence of two or more distinct referencing methods for the same memory
location
Readability and Writability
o A language that does not support “natural” ways of expressing an algorithm will
require the use of “unnatural” approaches, and hence reduced reliability
You're Reading a Preview

Unlock to view full version