Subtext, a non text-based programming language, via this comment on ./. I'm watching the demo now. It reminds me of this video on Self. Though while I found the Self video fascinating, this video on Subtext just makes Subtext seem like a toy.
Dumbest comment in the video: "My long-term goal is to decriminalize copy & paste. It's a natural way we want to program, so let's embrace it in our programming languages."
The author takes pride in the fact that Subtext programs aren't text. Of course, no programs are text -- text is just our static representation of the program. I'm highly skeptical that his representation, with his drag and drop linking programming interface thing, is more efficient or more natural for programmers to work with than plain text.
Also see his silly discussion about functions returning multiple values starting at about 7:55 in the video (look guy, C is not the state of the art in programming languages, ok?), which leads into his mention of the dreaded "local variable naming" problem.
And boy, he really does use his copy & paste philosophy throughout the video. Of course, it takes him about half the video to write a factorial function using his method. Now, it is pretty neat that his code is always executing as he writes it[1]. And it is neat that a lot of the dependencies within the program are linked explicitly rather than having to be discovered through static textual analysis as an IDE like Eclipse would do. In fact, I take it that that was the subject of his OOPSLA paper (PDF), which I'd like to take a look at when I get the chance. But, I think he misses the mark and fails to do anything actually useful with this experiment[2]. Though, I'll give him another chance to explain when I read his paper.
Finally, he makes a fairly big deal that the names in his programs aren't actually semantic entities, but merely comments that serve to annotate the "living program" or whatever. I think he's fooling himself if he thinks that's a real difference, let alone an advantage, of his system compared to other programming languages.
Update: Hans is more interested than I am. Also, just to clarify: I think it's a neat system, I'm all for investigating new approaches to programming, and I commend its author for doing so. I'm just doubtful that what I watched in the demo video has application in realistic systems.
Footnotes:
[1]: though, of course, this is only neat. It's probably equally useful to have a REPL, and of course the neat-ness of this is limited to simple functions that take little time to calculate and, it seems to me, don't have side effects.
[2]: Regarding IDEs and program analysis: One of the conclusions that I got out of The IDE Divide was that the expressiveness of a language is inversely proportional to how useful IDE refactoring tools are. The more expressive your language, the less necessary a good IDE becomes. Of course, it's natural for Java that it's a huge market for such IDEs.
new⇒Court rejects death penalty for raping children - Yahoo! News
:)...
Keith: Jul 4, 11:32am