Google App Engine - Changes Everything
bob.pythonmac.org
bob.pythonmac.org
There's no time to wait for people to actually use it for products that customers pay for. There's no time! By then it'll already be obsolete.
Microsoft _could_ try to compete here but won't or will do it poorly. Their best chance would be a variant of ASP (not ASP.NET, more below) with additions:
1. Associative arrays - ASP had limited session and application hash variables. Microsoft tantalizingly demonstrated that they _could_ do associative arrays but wouldn't.
2. Allow tying associative arrays to disk, as in Perl, and incorporate transaction capability.
3. Add binary file I/O - File I/O should be built into a language. In ASP you write a C++/VB COM component to perform random I/O and dynamically instance the component on the ASP page. Guaranteed slowness/clumsiness in development/execution.
4. Develop a database API similar to Google's BigTable. Abandon SQL Server: the database division would oppose this. Development would have to be coordinated with the creation of infrastructure even given Google's API model.
A bonus: much existing ASP code could be reused. There is far more ASP than ASP.NET code.
Why not ASP.NET?
It's too much. Classic ASP was extremely popular and technically fell just short of a sweet spot for web APIs. Along came .NET, built more for Microsoft than for either developers or the Internet. ASP.NET was shoehorned into the "web apps" slot.
Harder questions:
- infrastructure: could Microsoft support something like Google App Engine?
- would former ASP developers forgive Microsoft's abandonment of ASP and flock to a new ASP platform?
- would ASP.NET developers consider using an ASP framework?
It would be a "we'll host your DLR applications for x dollars a month", not a free offering. They would likely offer deep discounts to students and have lots of other programs to drive the cost of the application down.
Microsoft already has an online offering for data, namely SQL Server Data Services (http://www.microsoft.com/sql/dataservices/default.mspx). Given their past trends, they will continue to push this offering.
Remember that MSFT has a different strategy than Google or Amazon; they target corporations while Amazon and Google tend to like to target smaller groups, single developers or start-ups. This may change in the future as MSFT becomes more acquisition oriented, but only time will tell.
I'm not saying AppEngine won't be better, but let's not declare Google the winner by default. If there is anyone that can go toe-to-toe with Google I think it's Amazon. This is a battle I've been waiting to see.
Please?