<Your Favorite Programming Language> Loses
*Excerpt
Every programming language ever created has some horrible mistakes: your favorite is no exception. We'll talk about some fundamental principles of PL design and how they fail to play out in various real languages.
Description
Here are some some claims about programming languages that everyone should find uncontroversial:
- Programming mistakes should be caught by the PL system
as early as feasible, and reported without delay.
- When a program fails to compile or run, the causes
should be made as obvious as possible.
- Our grade-school-learned skills of reading and
arithmetic, and our learned skills from existing PLs,
should be transferable to reading and writing programs
in any PL.
- Programs should be modular: built in small,
simple-to-understand chunks with narrow interfaces.
- The behavior of a program should always be predictable
from its inputs; repeatable user behaviors should give
repeatable results.
- Simple, tedious, error-prone tasks should be performed
automatically by the PL environment, not by explicit
code in a program.
I could continue, but every PL I’ve ever used falls short on one or more of the principles already listed.
In this talk, we’ll look at specific examples from a range of languages: Perl, Haskell, Lisp, Prolog, M4, Inform7 and others. Along the way, we’ll learn a few things about PL design. I will emphasize our Nickle programming language as a source of positive and negative examples. At the end, you still won’t want to program in Nickle—but you won’t be as eager to program in your favorite language anymore either.
Speaking experience
I would estimate that I have given about 50 public talks and more than 1000 classroom presentations. My talk (http://opensourcebridge.org/sessions/579) last year at Open Source Bridge seems to have been well-received, as well as my colleagues' and my joint talk (http://opensourcebridge.org/sessions/583).
Speaker
-
Bart Massey
Portland State University- Website: http://www.cs.pdx.edu/~bart
- Blog: http://fob.po8.org/
- Twitter: PO8
- Favorites: View Bart's favorites
Biography
Bart Massey has been geeking around with community computing for 35 years, and has been involved in Free Software and Open Source since its inception. For the past 15 years, he has been a CS Prof at Portland State University, where he works in open tech, software engineering, artificial intelligence and low-level software development.
Bart’s titles include Member of the PSU MCECS Innovation Program Board and past Secretary of the X.Org Foundation Board. Bart is the architect of the X library XCB, a modern replacement for Xlib, and the author of the XCB image extension. His current open tech interests include Haskell, open hardware and building bridges between pieces of the open tech community. He was one of the original participants in the Open Source Bridge conversation.
Sessions
-
- Title: <Your Favorite Programming Language> Loses
- Track: Chemistry
- Room: B202/203
- Time: 11:00 – 11:45am
-
Excerpt:
Every programming language ever created has some horrible mistakes: your favorite is no exception. We’ll talk about some fundamental principles of PL design and how they fail to play out in various real languages.
- Speakers: Bart Massey
-
- Title: Understand "Inform 7" as Teh Awesome.
- Track: Chemistry
- Room: B204
- Time: 10:00 – 11:45am
-
Excerpt:
Y’know those “Interactive Fiction” (IF) text-adventure thingies? Inform 7 is a language for writing IF in the style of English prose. It’s also a neat idea for general modeling. Let’s build a simple world together while learning some of what Inform 7 is about.
- Speakers: Bart Massey