Presentation is loading. Please wait.

Presentation is loading. Please wait.

11/16/2018 The PL Part of CS2013 Dan Grossman Department of Computer Science & Engineering University of Washington SPLASH-E October 28, 2013.

Similar presentations


Presentation on theme: "11/16/2018 The PL Part of CS2013 Dan Grossman Department of Computer Science & Engineering University of Washington SPLASH-E October 28, 2013."— Presentation transcript:

1 11/16/2018 The PL Part of CS Dan Grossman Department of Computer Science & Engineering University of Washington SPLASH-E October 28, 2013

2 Before we dive in… History in 1 line: CS2001 generally reviled by the PL community Much work by others to lay groundwork to “fix it” If you don’t like CS2013, it’s my fault  Don’t fret over “what is PL” in “Body of Knowledge” “PL” includes lots of “programming” and all of “compilers and run-time systems”… That’s “good” if selfish about the writing Less “good” if selfish about the hours But the steering committee was thankfully not selfish Experts will never be happy  Imagine a department with 5 CS faculty, none in PL Curriculum must be implementable and [only] a bit forward-looking October 28, 2013 Grossman: PL in CS2013

3 Acknoweldgements, part 1
Started early with a diverse committee of reasonable size Result much better than I could have done alone Kim Bruce Curt Clifton Ernesto Cuadros-Vargas Kathi Fisler Kathleen Fisher Stephen Freund Matthew Hertz Johan Jeuring Doug Lea Simon Thompson October 28, 2013 Grossman: PL in CS2013

4 Acknowledgments, part 2 Then many fresh eyes to avoid (?) committee-speak Guilt-trip s from me and public-comment periods Alex Aiken Ron Cytron Tony Hosking James Noble Jens Palsberg Benjamin Pierce Michael Scott Michelle Strout Stephanie Weirich Steve Zdancewic October 28, 2013 Grossman: PL in CS2013

5 High-level goals Language design, use, and semantics side:
Less OO-focused Encapsulation not only a sub-topic of OOP Benefits of avoiding side-effects, using closures Modern parlance, understanding, and breadth No “compiled vs. interpreted languages” Rational arguments on static vs. dynamic typing Language implementation side: Program analysis for more than compiler optimization Increasing importance/sophistication of run-time systems Matter of principle + inclusiveness + timeliness: No PL mentioned by name in Body of Knowledge October 28, 2013 Grossman: PL in CS2013

6 Interactions All of OOP, FP, and Event-Driven is in PL
But recursion, decomposition, abstraction is in SDF Because Body of Knowledge won’t “pick a paradigm for CS1” Concurrency and parallelism mostly elsewhere (PD and SF) Committee convinced me to add a PL unit for things like actors Of course, PL touches in everything in computer science  October 28, 2013 Grossman: PL in CS2013

7 The “core” pieces FP First-class functions + lexically scoped environments Mutation-free programming OOP As an abstraction mechanism Subclassing Event-driven Program Representation: Code is data “Basic Type Systems”: what they do [not] do “Basic Translation Execution”: What a compiler/interpreter/run-time does, but not how to implement one Key details like how recursion is implemented October 28, 2013 Grossman: PL in CS2013

8 My one axe to grind Matrix of operations and data variants
Cf. “the expression problem” Apologies if this came out “how Grossman teaches it” eval toString hasZero Int Add Negate October 28, 2013 Grossman: PL in CS2013

9 Elective != unimportant, part 1
Help modernize “the compilers course” While acknowledging lexing/parsing still exists Separate code generation from static analysis New run-time system unit with GC, JITs, VMs Mostly aspirational at this point?? Would love to discuss how to make this happen October 28, 2013 Grossman: PL in CS2013

10 Elective != unimportant, part 2
“PL side” has units that justify foundational treatment… Formal semantics, type systems, etc. … and units that justify “advanced programming”… Control operators, laziness, macros, mixins, … Reflects a big-tent there-are-many-good-courses view Now let’s fight over “better” with course exemplars and reusable materials October 28, 2013 Grossman: PL in CS2013

11 In the end… SIGPLAN written SIGPLAN and broader community approved
Surely not perfect Don’t ask the cook how the soup tastes  How can we use this to best influence courses/curricula? How can we best prepare the field for an even better curriculum in 2023? Need to successfully connect advances to the classroom! October 28, 2013 Grossman: PL in CS2013


Download ppt "11/16/2018 The PL Part of CS2013 Dan Grossman Department of Computer Science & Engineering University of Washington SPLASH-E October 28, 2013."

Similar presentations


Ads by Google