Download presentation
Presentation is loading. Please wait.
Published byWilfrid Tucker Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.