Here are the slides from my NEPLS talk. People seemed to enjoy it, and I got a bunch of laughs. Positive comments afterwards. Mitch Wand couldn’t stay for my talk, but I got a few minutes to talk with him, and he gave me a promising suggestion for the completeness theorem. Overall a good experience, though as usual I am relieved now that it is over.
OOPSLA report
Back from OOPSLA, with mixed feelings. This was the smallest OOPSLA ever, and there are some big changes coming next year: they are renaming the conference SPLASH (Systems, Programming, Languages, Applications: Software for Humanity). OOPSLA becomes a colocated conference within the SPLASH umbrella, along with Onward and Dynamic Languages. The Onward program was perhaps the best ever this year, with some interesting preliminary work that was more than just metaphors and hand waving. Jonathan Aldrich’s Plaid language is worth following. Read More
The Eclipse of Java
Java is the new Cobol. But there has been a burst of language innovation on the JVM, for example Groovy, Scala, and Clojure. These languages can not become mainstream without a first-class IDE like Eclipse. Eclipse may not be that IDE. Read More
Lost in the forest
I am lost. The essential idea of coherence is a year old, and I still haven’t implemented it. I blame the trees. I have been struggling to integrate coherence with the tree-based model of computation in Subtext. It just isn’t working. In fact it hasn’t been working for years – I have struggled with the subtleties of trees in my last 4 papers. And the reviewers seemed to have struggled as well. My conclusion is that these trees are standing in the way of progress, and they have to come down. Read More
Scala is Groovy
Groovy’s creator endorses Scala. Scala is very promising. When I first read Odersky’s academic paper several years ago, I was put off by the complexity of the type system. But it becomes more attractive when you look at the everyday programming aspects of the language. It does a very nice job of synthesizing functional and OO programming, and eliminating a lot of the boilerplate in Java. I would consider Scala for my own work, except that it depends on Java for UI, which is an epic failure. But for server-side programming Scala is a promising alternative to Java.
Illustrative Programming
Martin Fowler has a new post in which he coins the term Illustrative Programming for what I have been calling Example Centric Programming. He gives me a nice plug too. Martin is a keen observer of trends in programming, and his terminological inventions have had an enormous influence on the practice of patterns, refactoring, and now DSL’s. I see his latest neologism as an indicator of the increasing relevance of the idea.
Wagn
Check it out. Cross between a Wiki and a database. And a semantic database at that, where all fields/attributes are binary associations. See plus cards and formatting. Very cute. Has an embedded query language, using JSON syntax. Needs an embedded update language.
Repenting Syntax
Forgive me, for I have sinned. I have been seduced by Syntax — by its offer of quick implementation shortcuts, and by its promise of easy acceptance into the establishment. All lies, leading to perdition! I cast you out, Syntax! Read More
Semi-rejection
Onward has rejected my paper, but invites me to cut it in half and resubmit it. I feel like withdrawing the paper, but will probably swallow my pride. Read More
Wave reflections
Google Wave is huge. I am not even going to try to assess it dispassionately. As I explained in my last post, the same epiphany hit me just a few weeks ago, so I have already drunk the Kool-Aid. Basically: email is the original killer app of the Internet. We live in email, but email sucks. Wave fixes a lot of the suckage. I think it could become a platform for a whole new “wave” of applications. See for yourself. But Wave raises some big questions: Read More
Curses, foiled again
For a long time I have been trying to come up with the “killer app” for my new programming paradigm. A few weeks ago I discovered it. As I thought it through, I started to panic, because I realized that it really was a killer app that didn’t need a new programming language. One could drop the fancy features and end-user programmability, and be left with something much simpler but with far greater impact: a replacement for email. Now that is a killer app. Should I shelve the research and do an open source project? Try to shoehorn my language in anyway? My head has been spinning. Well, Google just announced it today.
I am in shock. Going to take some time to digest this. Maybe it will turn out for the best: silence the siren call of commercialization, but still open up a niche for my language. Or maybe it is back to the drawing boards. Really only three weeks sunk at this point. What a trip.
Steps Toward the Reinvention of Programming
Time for some mental Spring cleaning. This is the first of several reviews I plan to do on interesting current research. First up is Alan Kay’s Viewpoints Research Institute. As the title states, he wants to reinvent programming. Again. The guiding goal of the project is to recreate the “personal computing experience” – from OS to apps – using dramatically fewer lines of code. They are looking for a “Moore’s Law” leap in software expressiveness of 3 or 4 orders of magnitude. Read More
The Summer of Code
The time has come to stop writing papers and start releasing code.
Read More
Coherence — The Director’s Cut
The Coherence home page is up at http://coherence-lang.org. The submitted version of the paper is there, with a new intro and a surprise ending.
What if Smalltalk were invented today?
To: Alan Kay
From: The Program Committee
Subject: FAIL
Dear Dr. Kay,
The program committee thanks you for the submission of your paper “Object Orientation – A New Paradigm of Programming”. Unfortunately your paper has been rejected. We had many fine submissions this year, but as you know we must accept no more than 15% of submissions to be considered a premier conference. The reviewers’ comments are attached below. Read More
Draft Onward paper
At long last, I have posted a draft of the paper I am submitting to Onward this year. Still pretty rough, but it is due a week from Monday, so I am pushing it out now to get feedback in time. Coherent Reaction. All comments welcome. What are the hard parts to understand? What is the related work?
As you can see, I have changed the name from Juncture to Coherence.
Thanks – Jonathan
Update: Submitted! Revised version at above link. Thanks for everyone’s help.
Gradual Typing
Jeremy Siek is doing some great work on gradual typing, and it may get incorporated into Jython. Here is a presentation, and a video. A similar idea is Gilad Bracha’s Pluggable Types. JavaScript 2 had planned to do gradual typing, though it is unclear if that will survive the collapse of the project.
It seems I usually have negative things to say here, so I wanted to note an example of something positive. Jeremy’s work is Computer Science that is imminently relevant to practicing programmers. I think gradual types are an inevitable feature of future programming languages.
Incompleteness
Bad news: co-action is incomplete. Read More »