This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: 1 CSE 130 : Fall 2006 Programming Languages Ranjit Jhala UC San Diego Lecture 1: Hello, world. A Programming Language Two variables x , y Three operations x++ x-- (x=0)? L1:L2; L1: x++; y--; (y=0)?L2:L1 L2: Fact: This language is equivalent to every PL! Try writing quicksort or WindowsXP in this language. So why study PL ? A different language is a different vision of life- Fellini- Hypothesis: Programming language shapes programming thought- Characteristics of a language affect how ideas can be expressed in the language Course Goals Free your mind-Morpheus You will learn several new- languages and constructs - ways to describe and organize computation Yes, you can do that in Java/Assembly but Enables you to Engineer software that is Readable Correct Extendable Modifiable Reusable Enables you to Learn new languages There was no Java (C#) 10 (5) years ago Will learn the anatomy of a PL Fundamental building blocks of languages reappear in different guises in different languages and different settings Re-learn the languages you already know 2 Enables you to Design new languages who, me? Buried inside any extensible system is a PL Emacs: E-Lisp Word, Powerpoint: VBScript Quake: QuakeC SQL, Renderman, LaTeX, XML Enables you to Choose the right language but isnt that decided by libraries, standards, and my boss ? Yes. Chicken-and-egg. My goal: educate tomorrows tech leaders & bosses So youll make considered, informed choices Mechanics www.cs.ucsd.edu/classes/fa06/cse130/ Nothing printed, everything on Webpage! Meetings: Lectures: Ranjit Jhala, Tu-Th 12:30-1:50pm @ HSS 1330 Section: William Matthews, W 4-5 pm @ Center 109 Lab: Sean O Rourke , William, me Hours posted on Web page Material Outline: 1. Functional, OCaml , 4 weeks...
View Full Document
- Fall '06