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 isn’t that decided by • libraries, • standards, • and my boss ?” Yes. Chicken-and-egg. My goal: educate tomorrow’s tech leaders & bosses So you’ll 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
- int list int, Complex types, int list string, list int list, list string list