KBD

Keith Devens .com

Friday, July 4, 2008 Flag waving
Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will... – Eric S. Raymond

Archive: January 18, 2005

← January 17, 2005January 19, 2005 →

Daily link icon Tuesday, January 18, 2005

Subtext - non text-based programming language

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.

  1. Can anyone recommend a good DVD writer?

       (5)
  2. dirtSimple.org: "Monkey Typing" for Python. I wanna read his PEP in detail.

       (0) Tags: [Programming]
  3. Reading vs. writing in web apps: Juxtaposition (Signal vs. Noise), via Paul:

    Why are most web apps designed to put the focus on viewing data first and entering data second? From my own personal experience, and I’m just speaking for myself here, I end up entering data more often than I read it... Why can’t I just enter the data first and then decide where to put it?

       (0) Tags: [Programming]
  4. I didn't know Acrobat Reader 7 had been released (via). Reportedly it launches faster. I guess Adobe got enough complaints.

       (0)
← January 17, 2005January 19, 2005 →
July 2008
SunMonTueWedThuFriSat
 12345
6789101112
13141516171819
20212223242526
2728293031 



RSS feed RSS feed for Keith's Weblog
Atom feed Atom feed for Keith's Weblog
Weblog archive
Recent comments
  on 5 posts

Recent comments XML

Girls, please don't get breast implants

> And no, you will not be receiving​a picture.

:-(...

Keith: Jul 2, 6:05am

Javascript clone function

This is a clever way to clone an​object if you are using YAHOO UI.​Same tec...

Antonio: Jul 1, 12:47pm

I hate Norton Antivirus

Oh just one other thing norton is​great at keeping people out of your​compu...

kevin.sands: Jul 1, 12:50am

Terminator 3 was awful

I think the biggest reason why T3​totally blew was because Edward​Furlong g...

76.167.172.64: Jun 29, 3:06am

Generated in about 0.051s.

(Used 7 db queries)

mobile phone