Main menu:

Site search

Categories

Archive

More on Intentional

A couple of days ago I posted an entry about some of my opinions of the Charles Simonyi interview from a couple months ago. I was surprised at how much traffic that story got. (Maybe because I’m finally starting to tag this stuff with “Software Engineering”?)

Steven Kelly, the CTO of MetaCase (among other things) kindly stopped by with a thoughtful comment. I though I’d respond to a few of the points he makes.

I really like the basic idea behind Intentional Programming: keep and manipulate your source code as an object structure, not a sequence of characters.

Yes, it’s about time. This is one of those things that’s pretty obvious in retrospect, no?

Though I’d like to make an additional point in a follow-up point about making the language itself an object. I’ll save that for the next post.

I think there are some problems with Simonyi’s approach, e.g. auto-layout and switching views have a bad effect on how well we can remember things.

Good point. I agree it’s important to allow users to use whitespace and layout as they see fit. It’s an important aspect of typography that in its own way is an important “degree of freedom”.

I have to think this is somewhere on their list of priorities to address soon.

Even better, if you want to improve the implementation, or even port your whole system to a new programming language, you only need to change the generator. That’s thus one person’s work on one item, rather than every developer’s work on every piece of code.

I look forward to working this way someday!

Two of Simonyi’s main points are however simply wrong: he claims that designing parsable languages is hard, and that building editors for the language is expensive.

I notice on his OOPSLA write-up that Simonyi’s third point, namely “building good programming languages is hard” is the one point he isn’t contending.

In which case I have to agree. Parsing alone isn’t terribly hard. Or interesting (at this point).

As for building editors: I guess it depends on the class of languages you are considering, and how much functionality you mean by “editor”. I still don’t know of too many editors that have full awareness of java, C++, or C#. But how clear is the line between the editor and the language itself?

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google

Write a comment