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.
JavaScript is good enough
For some time now people have been talking about web browsers as an application platform that supplants the PC. So called “Rich Internet Applications” use JavaScript or Flash or Silverlight to provide an attractive user interface (unlike HTML) close to that of traditional PC apps. JavaScript has been recently getting more attention because of some new VM’s that dramatically increase its performance (i.e., TraceMonkey, SquirrelFish, and V8). Dan Ingalls gave a talk at CUSEC about the Lively Kernel, which is a Smalltalk-style environment for JavaScript, running completely inside the browser. He was initially concerned that JavaScript is just a toy language, but in the end concluded that it is “good enough”. That prompted me to take a closer look. Read More
Observations of programmers in the wild
Just got back from CUSEC . I got an interesting view of the current state of the programmer subculture. It is much more social than in my day. There is a whole culture of meetups, *-camps, and little conferences. Ruby seems particularly cool right now. Almost everyone had a Mac. Doing open source counts a lot for street cred. Read More
Speaking at CUSEC
I have been invited to speak at CUSEC. Looks like a fun conference, and some of the other speakers are interesting, like Dan Ingalls and Avi Bryant. My talk is Iconoclasm for fun and profit. Abstract: Read More
At this juncture …
I have spoken before of the need to rebrand Subtext. It is stereotyped as a Visual Programming Language, and as such will never command respect. Using a non-textual code rep violates everyone’s expectations for how programming is done, and even how we write about it. The really fundamental problem is that I have been trying to solve problems that people don’t know they have, or won’t admit they have. No one is willing to admit they aren’t smart enough to program with current languages. Read More
Why Chrome is Shiny
Looking at the Google Web Toolkit, I have realized that Internet browsers are a dead end, much like MS-DOS was. GWT attempts to extract you from the tar pit of browser Javascript by papering over the incompatibilities and limitations. Some examples of these problems:
Read More
Truth in Researching
Just read a great paper about programming language design: The Origins of the BitC Programming Language. BitC wants to be a verifiable systems programming language, suitable for implementing OS kernels with provable safety guarantees and competitive performance. They share the lessons they have learned and opinions they have formed. They are commited to inventing something that is actually usable. It is all refreshingly honest and free of the obligatory posturing of academics, and therefore probably unpublishable. Some juicy quotes: Read More
Funny/sad quote of the day
From the folks who brought you UML: Semantics of a Foundational Subset for Executable UML Models
Constraints are excluded from fUML, because they are considered to be design‐time annotations that should already be satisfied by a well‐formed model. Otherwise, the general semantics of the run time checking of constraints is not currently well specified in UML 2, particularly when constraints should be evaluated and what should happen if they should fail. Further elaboration of the semantics of constraint checking in UML was judged to be outside the scope of the fUML specification.
Alright already, here’s the source
Here is the source and binaries of the Schematic Tables demo. I really don’t think it is of use to anyone, but I am getting tired of explaining that. This stuff is on the shelf right now while I work on other language issues.
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.