Skip to content

Speaking at CUSEC

I have been invited to speak at CUSEC. Looks like a fun conference, and some of the other speakers are interesting, like Dan Ingalls and Avi Bryant. My talk is Iconoclasm for fun and profit. Abstract: Continue reading ›

At this juncture …

I have spoken before of the need to rebrand Subtext. It is stereotyped as a Visual Programming Language, and as such will never command respect. Using a non-textual code rep violates everyone’s expectations for how programming is done, and even how we write about it. The really fundamental problem is that I have been trying to solve problems that people don’t know they have, or won’t admit they have. No one is willing to admit they aren’t smart enough to program with current languages. Continue reading ›

Why Chrome is Shiny

Looking at the Google Web Toolkit, I have realized that Internet browsers are a dead end, much like MS-DOS was. GWT attempts to extract you from the tar pit of browser Javascript by papering over the incompatibilities and limitations. Some examples of these problems:
Continue reading ›

Truth in Researching

Just read a great paper about programming language design: The Origins of the BitC Programming Language. BitC wants to be a verifiable systems programming language, suitable for implementing OS kernels with provable safety guarantees and competitive performance. They share the lessons they have learned and opinions they have formed. They are commited to inventing something that is actually usable. It is all refreshingly honest and free of the obligatory posturing of academics, and therefore probably unpublishable. Some juicy quotes: Continue reading ›

Funny/sad quote of the day

From the folks who brought you UML: Semantics of a Foundational Subset for Executable UML Models

Constraints are excluded from fUML, because they are considered to be design‐time annotations that should already be satisfied by a well‐formed model. Otherwise, the general semantics of the run time checking of constraints is not currently well specified in UML 2, particularly when constraints should be evaluated and what should happen if they should fail. Further elaboration of the semantics of constraint checking in UML was judged to be outside the scope of the fUML specification.

Alright already, here’s the source

Here is the source and binaries of the Schematic Tables demo. I really don’t think it is of use to anyone, but I am getting tired of explaining that. This stuff is on the shelf right now while I work on other language issues.

Parallelism matters

My colleague Danny Dig wants to rebut my last post, but is in the process of moving, so I will attempt to paraphrase his position. Continue reading ›

Too many cores, not enough brains

A number of comments on my last post suggested I work on multi-core parallelism. There are a number of reasons why I am steering clear of that topic. Continue reading ›

What’s next?

Since my last paper was rejected I have been thinking about what to do next. To tell the truth, by the time I had finished that paper I had lost interest in the topic. It seems that for the last few years I have been lurching around in different directions. Here are some of my thoughts about a new strategy. Please let me know what you think. Continue reading ›

Is Programming Art?

A brief interview in a fledgling webzine.

They love me not

My GPCE paper was rejected, and rather harshly. You can read the reviews below. My analysis is that I was rejected for not being incremental to prior work in the field. Continue reading ›

Modular Generation and Customization

The adventure in blogademics continues: I have posted a draft of my next paper. Comments are welcome - the deadline is 5/19. Thanks to everyone who supplied references in response to my last post - you are in the acknowledgments.

Update - the link above is to the final version, pusblished as a tech report. I should add for those familiar with my UI work that there is almost no UI in this paper. I am trying to motivate and explain the model underlying my last two papers. It’s not just about ease of use - it is also about expressive power.

Collections with stable iterators

Oh oracle of the interwebs -

I am writing a GPCE paper, and one of the contributions is a model of sequences (AKA collections) that has stable unshifting positions. Standard collections use an array abstraction where access is by integer ordinal position, which shifts under insertion and deletion. This manifests as the fact that iterators are broken by insertion and deletion operations. Linked list iterators also break under deletion.

Does anyone know of alternative proposals with stable positions/iterators? I don’t know of any, but I can’t be the first person to do this. Continue reading ›

Sinners in the Hands of an Angry Programming Language

And now for something completely different. This post at the Jonathan Edwards Center at Yale compares my position on Beautiful Code with the theology of that other Jonathan Edwards. We are not related, as far as I know, but in a spooky coincidence we both went to college at the age of 13.

The modular transformation challenge

I got some good feedback here on my last paper. I want to see if I can get some equally good advice about what my next paper should be. My past papers have been about making programming easier. I would like to move on to making programming more powerful. Specifically, by making transformations and views a fundamental language feature. I have thought of a simple challenge problem that I might use to motivate and evaluate this idea. Please let me know whether you agree that a) this is actually an unsolved problem, and b) whether it is a worthwhile challenge. If there is interest, I will post this onto some collaborative editing surface. Thanks!

Continue reading ›

Informality sans Mysticism

Gregor Kiczales (of Aspect Oriented Programming fame) gave a keynote talk at OOPSLA’07 titled Effectiveness sans Formality (podcast and slides). Roly Perara has posted a critique, which reminded me that I wanted to discuss it too.

Continue reading ›

QWERTY vs. COBOL

There was a surprising pattern in the response to my talk during my recent road trip. I think of my work as trying to make programming more human-friendly. Yet the people most concerned with human factors had a common reaction: it just isn’t possible to reinvent programming languages from scratch. I was instead expecting negative reactions from the formal methods and analysis people, but some of them seemed to be quite entertained by my work.

Continue reading ›

Why Syntax Must Die

Roly Perera offers a critique of Subtext: Why syntax won’t go away. It’s great to get this kind of feedback. I like Roly’s visionary thinking – I hope grad school doesn’t pound it out of him. Overall, we are in violent agreement on many issues.
Continue reading ›

OOPSLA Gossip

OK, this is what everyone wants to hear.
Continue reading ›

Galactic Premiere of Subtext 2

Here I am live-blogging myself at OOPSLA. I guess you know you have arrived when you get heckled by Guy Steele. Actually the talk seemed to go over pretty well.

I have posted a video of essentially the same talk. As always, comments welcome.