Presentation is loading. Please wait.

Presentation is loading. Please wait.

INF 212 ANALYSIS OF PROG. LANGS LECTURE 1 Instructors: Crista Lopes Copyright © Instructors.

Similar presentations


Presentation on theme: "INF 212 ANALYSIS OF PROG. LANGS LECTURE 1 Instructors: Crista Lopes Copyright © Instructors."— Presentation transcript:

1 INF 212 ANALYSIS OF PROG. LANGS LECTURE 1 Instructors: Crista Lopes Copyright © Instructors.

2 Outline  Course objectives  The course Credits: This presentation uses material from https://courseware.stanford.edu/pg/courses/lectures/96023

3 Where the rubber hits the road Architect Compilers, Runtime environ- ments Programmer Tester Diagnostic Tools The code (uses one or more Programming Languages)

4 Objectives  Understand concepts in PLs  100’s of PLs, all look different  they aren’t that different  Appreciate history, diversity of ideas in PLs  Be prepared for new languages  Ignore sales pitches  Be rigorous (PLs are a good example)  Certain times, you cannot afford to be fuzzy  Learn some important facts about existing language systems and techniques  Learn and think critically about tradeoffs

5 Programming Languages  Universe of design ideas  Crazy concepts often became mainstream  E.g. garbage collection, recursion, closures, …  (other crazy concepts were just crazy)  Language design concepts often pop out into systems design concepts  E.g. Map-Reduce, stateless – REST, …

6 What’s new in programming languages  Commercial trend over past 5+ years  Increasing use of type-safe languages: Java, C#, …  Scripting languages, other languages for web applications  Teaching trends  Java replaced C as most common intro language Less emphasis on how data, control represented in machine  Research and development trends  Modularity Java, C++: standardization of new module features  Program analysis Automated error detection, programming env, compilation  Isolation and security Sandboxing, language-based security, …  Web 2.0 Increasing client-side functionality, mashup isolation problems

7 What’s worth studying?  Dominant languages and paradigms  Leading languages for general systems programming  Explosion of programming technologies for the web  Important implementation ideas  Performance challenges  Design tradeoffs  Concepts that research community is exploring for new programming languages and tools  E.g. Multi-core

8 The Course  Introduction – the PL landscape  Mathematical Foundations  JavaScript: massively used little language  Haskell: nest of design ideas  Type Systems  Reflection  Modules  Virtual Machines  Program analysis

9 Assignments and Grading  Homework Projects 90%  6 to 9  Groups of 2  Class participation10%

10 Getting A and A+  You will get an A if  Show up for class, engage in message board  Do 6 out of 9 projects correctly and on time  You will get an A+ if  All of the above  Do 3 additional projects (9 total) correctly and on time

11 Grading/Demo Sessions  Every 2 weeks, on Mondays  All day  15 min slots


Download ppt "INF 212 ANALYSIS OF PROG. LANGS LECTURE 1 Instructors: Crista Lopes Copyright © Instructors."

Similar presentations


Ads by Google