Almost four years ago I took a look at Subtext, an unusual programming “language”. Today I stumbled upon it again. Development has continued, and while I don’t see this appearing on worker bee’s desktops anytime soon, it’s definitely worth another look.
As you can tell from the updated video, programming is done by creating and manipulating “schematic tables”… sort of a crossover between a flowchart and a spreadsheet. (Do watch that video… it’s hard to explain the essence of Subtext in just a few words. You have to *see* it.)
It moves away from the assumption that “a program == text”. Or, as the author puts it, “Much of the design of our programming language is an artifact of the linear nature of text.”
While the new approach is interesting and makes for a whole new way of writing programs, I’m not sure how well it would hold up when dealing with more complex programming problems. (The examples mentioned in the video are fairly simple… fibonacci and an algorithm to calculate damage in an RPG-like game.) Also, it seems to rely heavily on the mouse, while the general trend in programming editors and IDEs seems to be, to use the keyboard as much as possible.
Subtext is capable of doing some pretty nifty things… like pointing out gaps or contradictions in your logic. (Again, see the video.)
I’m also curious how easy it is to define custom abstractions with Subtext, as is common in more expressive programming languages.
I haven’t made up my mind yet if this way of programming is easier or harder than the “conventional” way… The difference in layout (a table with different columns rather than a class hierarchy, for instance) makes some things easier to see and grasp. But again, I don’t know how well this scales to more complex algorithms. In any case, it’s different.
Now, when will this be available for download? I want to play with it. :-)