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 DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight 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 Todays 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

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