From what I can see though, after looking at this presentation, slickly hosted on Adobe Breeze, something like Apex is going to be potentially very useful for building transactional apps. What if you need to do a rollback, or batch a number of changes before you commit them? I don't see that kind of function being something we see much of in AJAX or REST-land.
What is technology if it isn't an attempt to take care of some heavy-lifting so you don't have to? Or, the way Amazon founder Jeff Bezos puts it (the heavy-lifting part), muck. James, maybe we're both wrong. I mean, don't you realize that there are are tons of AJAX and/or RESTFUL developers out there who are just dying to spend more of their precious time writing their own two-phase commit subroutines. Yes, I know that's inhuman. Or, should I say inhumane. Heaven forbid anybody should come along and strap a little 4GL on or give you some working schemas with some easily invoked stored procedures (or the equivalent thereof) thereby enabling developers a running start on their rapid application development (not to mention programmable access to the only publicly programmable multi-tenant compute utility I know of).
"Scripting," a word that I used in my original analysis of Apex, has all sorts of stereotypes that come along with it. Perhaps I shouldn't have used it and perhaps salesforce.com should make a conscious effort never to say the word again (I'm not sure that it ever did). What programming isn't scripting? In some ways, Apex is a stroke of brilliance. In all these years, why didn't anyone in the Java ecosystem (or the Java Community Process itself) seek to can some J2EE functionality that was specific to certain verticals? (not that Apex is totally bound to CRM). Or, does a programmer's creative license reign supreme over productivity in your company? Sure, go ahead and reinvent your wheels. Sooner or later, the agility dog will rear its ugly head.
For what it's worth, I guess I agree with James in that Apex ISVs will probably have to profit for Apex to be a success. Adoption alone may not be enough. Personally, I think it would do salesforce.com and Apex a world of good to give a JCP-like organization the authority to guide its evolution. Now that Apex has been kick-started by salesforce.com, it is ripe for innovation that could address similar needs in verticals that the out of the box functionality can't be so easily be stretched to. Verticals like HRMS and ERP. Not to mention a programming language with utilty computing built into it (please tell me where this exists).