Compiler Lecture - CS 143 Lecture 2 1 Language Design and...

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

View Full Document Right Arrow Icon

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

View Full Document Right Arrow Icon

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

View Full Document Right Arrow Icon

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

View Full Document Right Arrow Icon

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

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CS 143 Lecture 2 1 Language Design and Over view of COOL CS143 Lecture 2 CS 143 Lecture 2 2 Gr ade Weights • Project 50% – I , I I 10% each – I I I , I V 15% each • Midterm 15% • Final 25% • Written Assignments 10% – 2.5% each CS 143 Lecture 2 3 Lectur e Outline • Today’s topic: language design • Why are there new languages? • Good-language criteria • History of ideas: – Abstraction – Types – Reuse • Cool • The Course Project CS 143 Lecture 2 4 Pr ogr amming 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 . . . CS 143 Lecture 2 5 Why So Many Languages? • Application domains have distinctive and conflicting needs • Examples: – Scientific Computing: high performance – Business: report generation – Artificial intelligence: symbolic computation – Systems programming: low-level access – Special purpose languages CS 143 Lecture 2 6 Topic: Language Design • No universally accepted metrics for design • “A good language is one people use” ? • NO ! – Visual Basic and COBOL are the best languages? • Good language design is hard CS 143 Lecture 2 7 Language Evaluation Cr iter ia Characteristic Criteria Readability Writeability Reliability Simplicity * * * Data types * * * Syntax design * * * Abstraction * * Expressivity * * Type checking * Exception handling * CS 143 Lecture 2 8 H istor y of I deas: Abstr action • Abstraction = detached from concrete details • Abstraction necessary to build software systems • Modes of abstraction – Via languages/ compilers: • Higher-level code, few machine dependencies...
View Full Document

{[ snackBarMessage ]}

Page1 / 26

Compiler Lecture - CS 143 Lecture 2 1 Language Design and...

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

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