>>24OK.
I suppose when the
only responsibility of a platform is to do some `low level' work for you then the web, and indeed almost any `platform' performs satisfactorily.
However, the responsibilites of a platform are usually more than that.
Another, (perhaps better) word to describe the thing a platform
is (i.e. the word preferred by at least one
EXPERT programmer) is a
magical tome ;) For a platform is really nothing more than a collection of related programs (`libraries', (operating) systems, interperters, compilers i.e
spirits) and languages (the means of summoning, conjuring and taming those spirits). As with any other magical tome, the responsibilities of a computerly magical tome (i.e. what you call a `platform') are to give a wizard (even an apprentice) a means of efficient control (both in the ease in which the wizard may cast his spells, and in the economy of magic (i.e. machine resources) used) over some kind of essence (or matter), and in this specific case that essence is the graphical user interface.
From this point of view the web does not fulfill its responsibilities satisfactorily. Indeed, the languages of the web share disparate syntax (there are the SGML derivatives (i.e. HTML, SVG etc.) and then there are the C like ones (CSS and JavaScript) and disparate semantics; no language is defined in terms of the other (of the big three HTML, CSS and JavaScript (otherwise, I know of XHTML etc.)). This greatly limits the ability of a skilled wizard to weave the essence of the computer interface to his bidding, while also putting a great burden on the novice. Worse still the essence woven in one language fits poorly with the other, and the economy of magic (i.e. computing resources) is
terrible!; much magic is wasted to no effect.
Now one step up is the
ENTERPRISE programmer using e.g. C# (or some other CLR language), XAML, WPF and Microsoft's Visual Studio or Java (or some other JVM language), Swing, XML (maybe) and NetBeans. The pracitionares of these magics use programs and languages more closely intertwined then those discussed above, but many of the same mistakes are made.
But the state of the art, the noblest and most highly regarded tomes to weave the magic of the graphical use interface come from the revered school of Morphic and the revered school of Presentations, whose scholars include the most wisened Smalltalk and Lisp wizards.
Consider Morphic as implemented in Pharo. Every graphical object (or Morph from the Greek word for shape or form) is `just' a Smalltalk object. The ``document model'' is whatever Morphs are submorphs of the (some) WorldMorph, the presentation of a Morph is determined by sending a Morph messages, the logic the Morph obeys is whatever messages it receives from other Morphs (including the Morph which is the locus of user control (the Hand Morph)) or other Smalltalk objects. If the Morph should reflect some data model, then that model should sent it messages! A wizard who has read a tome of Morphic can masterfully and with ease manipulate the essence of the graphical use interface, for Morphic is nothing but a vocabulary ontop of the already powerful tome of Smalltlak. And most impressively of all, the same power is not lost with the user. There is no difference between a user of a Morphic system and the wizard which first called its spirit.
To put things in perspective, Morphic is the successor to MVC (the original Smalltalk GUI). The web is essentially MVC, as is e.g. WPF (but done badly!).
Now consider Presentations as implemented in Allegro Common Lisp's CLIM. Lisp objects are coupled with a graphical representation of that object called it's ``presentation''. A listener evaluates Lisp expressions associated with various means of interacting with a presentation (mouse or keyboard input), or those expresions explicitly typed in to the presentation of the object which is the listener (i.e. a command line) by the programmer or user (as with Morphic there is no distinction). A presentation (i.e. any graphic) may be referred to on the command line by simply clicking on it (it's textual representaion is pasted into the listener). Again, similar to Morphic, CLIM is a vocabulary on top of Common Lisp and the CLOS. The logic, presentation, and structure of graphical user interface are all wrtten in the same common CLIM language.
Lastly, consider the Mathematica Notebook. A Mathematica Notebook consists of cells, which are Mathematica expressions interperted by Mathematica as graphical objects. A cell is a presentation in a similar sense to a presentation in CLIM and other Lisp systems (Dynamic windows etc.). The exact appearance of a cell is controlled by convention by ``style data'' cells, which are like any other cell Mathematica expressions. However, as powerful as the Mathematica front end is, unlike CLIM, it is only skin deep, and much is hidden from you. For example the program which is the listener (i.e. the Notebook interface) and the program which renders cells is not (for all you know) written in Mathematica. And in this aspect how different is it from the web or
ENTERPRISE?
Now notice the thing with both Allegro Common Lisp and Mathematica ``Presentations'' platforms. They are
expensive. To use their full power the end user has to pay for them, and it is not cheap at all. A steep tribute (in the order of hundreds of US $) to Franz Inc. and Wolfram Inc. must be paid for each user that will use a program written using CLIM or Mathematica. Similarly the most turtly all the way down presentations based system of all, the holy and blessed Genera, is held in ransom by some jerk profiting from the DOD fixed maintenence contract on it (no maintenence is done or required) (afaict, this is a rumor). The open source CLIM is dead :(.
Luckily, Smalltalk systems have not shared the same fate despite being for a very long time held under ``over my dead body would I give the very best away for free'' types. They have now been liberated. There are two good open source Smalltalk systems and, additionaly, implementations of many great Smalltalk programs (e.g. Morphic).
Interestingly, Smalltalk programmers being frustrated with the web have created something like Morphic for the web in various forms (Seaside, Amber Smalltalk).