lecture02

lecture02 - Grade Weights Project 50% Language Design and...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Prof. Aiken CS 143 Lecture 2 1 Language Design and Overview of COOL CS143 Lecture 2 Prof. Aiken CS 143 Lecture 2 2 Grade Weights • Project 50% – I, II 10% each – III, IV 15% each • Midterm 15% • Final 25% • Written Assignments 10% – 2.5% each Prof. Aiken CS 143 Lecture 2 3 Lecture Outline • Today’s topic: language design • Why are there new languages? • Good-language criteria • History of ideas: – Abstraction – Types – Reuse • Cool • The Course Project Prof. Aiken CS 143 Lecture 2 4 Programming Language Economics 101 • Languages are adopted to fill a void – Enable a previously difficult/impossible application – Orthogonal to language design quality (almost) • Programmer training is the dominant cost – Languages with many users are replaced rarely – Popular languages become ossified – But easy to start in a new niche . . . Prof. Aiken CS 143 Lecture 2 5 Why So Many Languages? • Application domains have distinctive and conflicting needs • Examples: Prof. Aiken CS 143 Lecture 2 6 Topic: Language Design • No universally accepted metrics for design • Claim: “A good language is one people use”
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Prof. Aiken CS 143 Lecture 2 7 Language Evaluation Criteria Characteristic Criteria Readability Writeability Reliability Simplicity * * * Data types * * * Syntax design * * * Abstraction * * Expressivity * * Type checking * Exception handling * Prof. Aiken CS 143 Lecture 2 8 History of Ideas: Abstraction • Abstraction = detached from concrete details • Abstraction necessary to build software systems • Modes of abstraction – Via languages/compilers: • Higher-level code, few machine dependencies – Via subroutines • Abstract interface to behavior – Via modules • Export interfaces; hide implementation – Via abstract data types • Bundle data with its operations Prof. Aiken CS 143
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 01/12/2010 for the course CS 143 at Stanford.

Page1 / 5

lecture02 - Grade Weights Project 50% Language Design and...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online