Download presentation
Presentation is loading. Please wait.
Published byAugustine Richard Modified over 6 years ago
1
INF 212 Analysis of Prog. Langs Final Lecture
Instructors: Crista Lopes Copyright © Instructors.
2
Course 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
3
The Course Mathematical Foundations Funktional Programming Pearls
Lambda calculus Operational Semantics Funktional Programming Pearls Closures, continuations, iterators, generators, monads Reflection Meta-circular interpreter, eval, reification, intercession Type Systems Type checking, type inference, polymorphism Modularity Different ways of decomposing problems Virtual Machines Purpose, under the hood Program [static] analysis
4
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, …
5
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
6
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
7
Questions Projects: Easy? Hard? OK? Which project(s) didn’t you like?
Which project(s) did you like best? Did you read the suggested readings? Suggestions for next year’s offering
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.