Subtext on Rails

My recent proposal to work on modeling capabilities fell flat, but elicited some good discussion of future directions for Subtext. Peter Marks wrote:

… I would rather see a complete re-examination of what lies underneath the World Wide Web. And then take the Subtext approach of banishing syntax, treating program as data, history, etc. … This would mean initially abandoning the UI demo and focusing more on the development of a system/infrastructure that works with and within the Internet.

Macneil Shonle wrote:

I wonder what “Subtext on Rails” would look like?

Continue reading “Subtext on Rails”

Plan B

Subtext faces enormous obstacles to becoming an accepted programming language. It is still just a sketch, missing crucial pieces. But even as I slowly fill it out, I am encountering unyielding resistance. There is a great deal of skepticism about the whole idea of non-textual programming, due to the past failures of Visual Programming Languages. Overcoming that bad reputation will require proof that the UI and VM can scale to industrial-strength, and that there are unequivocal productivity benefits. I can’t do that alone, and it seems that I won’t get much help (particularly from the academic community) until I can first overcome the skepticism. Chicken and egg. Modern programming languages have dug a deep rut over the last 50 years, and dislodging them will not be easy. It will require finesse. Continue reading “Plan B”

First Class Copy & Paste

I have posted a draft of my latest OOPSLA submission: First Class Copy & Paste. As always, comments are welcome.

I apologize that this paper is so hard to read. It is very technical and formal, and all about internals, not the user interface. I felt that I needed to precisely define how Subtext works, both for myself, and for others who want to try to do something similar. A secondary goal was to document the idea of hypothetical computation that is in the demo. I also added a cool new idea: transactional concurrency. But few people will wade through the technicalities to get to that part. I probably should write a more accessible paper about hypotheticals and transactional concurrency.