On Proebsting’s Wish List
William Grosso @ January 2, 2009
So I’m preparing the slides for my talk on Tuesday, which is turning out to involve a lot of thinking about programming languages.
One of the thing’s I’m revisiting is a talk by Todd Proebsting entitled “Disruptive Programming Language Technologies”1
It’s a glossy talk, very high level and talking about what might make for the next great programming language. He gave the talk in 20022. Since then, I think we’ve seen the rise of exactly zero new programming languages but the Tiobe index since then has shown an interesting shift: Python, Javascript, and Ruby have all crept up the index, taking market share away from the leaders (Java, C, C++). I think the lesson there is that, in the absence of stunning innovation, progamming language feature sets tend to level out and therefore, the playing field levels somewhat.
But, the question is, what happened to Proebsting’s list? He gave five candidate “disruptive” features for a new programming language:
- Flight Data Recorders. Add persistent, automatic “tracing” of function calls, events, I/O, etc. to the language run time.
- Checkpoints / Undo. Make checkpointing and undo (i.e., restoreto checkpoint) primitives in theprogramming language.
- Parsing. “Scannerless Generalized LR Parsing” (or Earley parsing) could be integrated into a language.
- Constraint Solvers. Integrate linear programming constraint solver (or, better, integer programming) into a programming language
- Concurrency. Concurrent functional programming language3.
I think that Erlang is the way the world is experimenting with the last bullet point. And that Groovy’s builders are potentially a different approach to parsing that might meet the sub-criteria of his third bullet point. But bullets 1,2, and 4 seem to be potentially huge and valuable innovations that aren’t currently being addressed.
Is it that we’re stagnating? That I’m overlooking things4? Or that these aren’t that important and there are other, much more important, things being cooked up.
- Side note: that’s a link to a talk at MIT. Proebsting’s pages at Microsoft seem to have disappeared. Did he leave Microsoft? ↩
- And variations of it in 2003 and 2004, I think↩
- The most interesting bullet point in the presentation: “Concurrency models many applications better than “objects,” yet the world is mired in OO religion.” Mired? Mired?↩
- Though Lambda’s year end summary would seem to indicate that I’m not↩
Filed under: Uncategorized | Share on Facebook