Program Domain
=
Application Domain

Wheat bridges the traditional gap between the experience we try to give users and the experience we program in.

On a technical level it does this in several ways:

On a larger scale, the web is a new computing paradigm - it deserves a new tool kit with the same radical shift.

This is the proviso of "eat your own dog food" taken to the extreme.

I've been asked why does this warrant a new language (somehow no one seems to care about the new environment...). Here is one of my more wordy replies:

"There is no language today in which objects are conceived as the persistent, globally accessible entities that web programming today attempts to model. Web programming is sufficiently different from desktop and server application programming to warrant a new model: When building for those environments we expect programs to be started at a point in time, read the user's data from some data store into the heap, process it, possibly interacting with the user, write it back and then quit. Heap based objects, or more generally, languages where the unit of operation is on ephemeral, memory based data, works perfectly for applications. When we think of web programming, we are trying to create a view where the user's content is ever present, ever live, and widely accessible. Rather than build this world view up on top of an memory based foundation, Wheat has an object and language model that can directly support this style of programming."