The following is an abstract of a position statement for the Live programming workshop at ICSE.
Continue reading “Time is of the Essence”
Down the rabbit hole of types
Time for a progress report, now that I have some progress to report. I didn’t get much research done last semester because I was teaching a new class: 6.170 Software Studio. It was a noble experiment with mixed results, but that is another story. Back in March I presented the latest version of Subtext at the IFIP Working Group 2.16 on Programming Language Design. I realized then that Subtext should be statically typed. Ever since I have been falling down the rabbit hole of types.
Continue reading “Down the rabbit hole of types”
Turing on programming
The process of constructing instruction tables should be very fascinating. There need be no real danger of it ever becoming a drudge, for any processes that are quite mechanical may be turned over to the machine itself.
– Turing, A. M., 1946, Proposed electronic calculator, report for National Physical Laboratory, Teddington
So was Turing wrong, or are we just doing it wrong?
Domain specific programming experience
The discussion on the last post suggested Domain Specific IDEs as a possible way forward. By restricting the domain (e.g. games) the IDE might gain enough semantic insight into the program to properly support advanced interaction designs like live code execution and direct manipulation of results. Well here is a perfect example: the Iguana Translator. These guys have done a great job building an advanced programming experience for the domain specific problem of mapping between data formats. I love seeing new ideas deployed out on the front lines of programming. Hats off to iNTERFACEWARE.
An IDE is not enough
The internets are buzzing with new IDE ideas. I credit Bret Victor’s masterful demo for much of this. Chris Granger is having amazing success kickstarting his IDE concept. Josh Marinacci discussed some possibilities. [Another one: Instant C#] I have been working in this area for over a decade and have very mixed feelings about these events. On the one hand, it is great to wake people out of their stupor and and show them what might be possible. But on the other hand I am bothered with the unspoken implication that such things are possible with current programming languages. Just slap a magical new IDE on top of Java or JavaScript and the world will be a better place. Unfortunately I don’t believe that is possible, and I fear it will lead only to disappointment and further fatalism.
Continue reading “An IDE is not enough”