I have been going through a re-evaluation process. As TBray has pointed out; Sun, IBM, etc have spent billions of dollars attempting to convince others that Enterprise has to be complicate and very expensive and yet very enterprise systems such as WordPress.com, facebook, twitter, etc prove that C# and Java are not the answer.
In Java’s case with the Google’s Nexus One announcement you have to remember Java’s roots are embedded small device programming. It was never meant to an enterprise systems development answer and EJB has been refactorered 3 times already and its still not right.
In the android Java mobile case its going to be those firms that build a social service platform that happens to have an android client front end and web scripting back end. Given having to server millions of users that back-end even though in php, ruby, or python is certainly enterprise sized in sense of complexities.
Look at this way; php, ruby, and python have enterprise components in terms of message queue frameworks. You can write daemons in php, ruby, and python. In all those languages there are faster web serves that are faster than ApacheHTTPD. Waht can enterprise C# or enterprise add? Certainly not development speed as it takes 3 times as long in development in both C# and Java as it would in php, ruby, or python.
I think the strongest items that web 2.0 could contribute to enterprise infrastructure everywhere would be the concept of do the a small core feature set first in fast iteration using better computer language tools designed for the development tasks at hand. Why a fast iteration?
Well lets borrow form web 2.0 startups, Breck Yunits has defined bubble as:
The bubble is the early, early product development stage. When new people aren’t constantly using and falling in love with your product, you’re in the bubble. You want to get out of here as fast as possible.
If you haven’t launched, you’re probably in the bubble. If you’re in “stealth mode”, you’re probably in the bubble. If you’re not “launching early and often”, you’re probably in the bubble. If you’re not regularly talking to users/customers, you’re probably in the bubble. If there’s not a steady uptick in the number of users in love with your product, you’re probably in the bubble.
That same concept also applies when you have an internal set of customers as you have the same professional pressure of will this satisfy all stake holders, etc. And the answer is the same, the faster you get answers(feedback) the faster you can change it. On long development cycles pick a feature to launch and launch that.
Its not the computer language itself that is the expensive silo, its the culture of re-purposing that set of tools into development domain in which those computer language tools are not really a good fit. Not to mention the culture of entitlement that forms on top of the adoption of any complex set of tools in the first place.
To signify Enterprise’s demise we should just start using Webprise as a term as its more descriptive of the actual development tools that we are using.