CRGreathouse said:
I don't agree with that at all. Google has been using cloud computing (internally) since before the term, to great effect. And Amazon monetized it fairly effectively.
My apologies, I should have clarified what I meant. Firstly, everything I've said in the thread to this point has been on the understanding that we're talking specifically about those areas of scientific/technical computing that the OP was interested in.
Secondly, the point I should have made is that there is a difference between a product or strategy being ready to be implemented by companies that have hundreds/thousands of developers and massively liquid capital (not to mention the ability to allocate that capital in innovative ways), and a product that can be implemented or used by "everyone." While Google, Amazon, and others have focused impressive amounts of resources towards cloud computing, there are many, many areas where I think it's a non-starter.
For instance, most of my development experience is in the hedge fund/banking industry. While there are obviously ways in which the financial industry can (and do) make use of cloud computing, the "nuts-n-bolts" stuff is totally unsuited to that approach. Unfortunately, this doesn't seem to be understood by those companies who used regularly contact me to tell me how cloud computing could be used to great effect in our hedge fund.
Again, apologies if anyone took this as a slight on the model itself; I'm simply trying to limit the discussion to the scientific/technical computing areas that the OP was interested in.
Captain Quasar said:
Some of the fancy stuff like Mono's version of Silverlight for web applications or really Windows-specific things like the interfaces to Windows Performance counters that tell you how many threads are running, etc. aren't finished, and you usually need to start developing on Mono to make sure that you don't accidentally use any proprietary Microsoft libraries that aren't part of the C# spec (which Visual Studio wizards love to stick in) but the core language itself and well over 90% of the System namespace libraries are implemented through version 2 of the language (which is all I really use, I know they've put a lot of work into C# 3 but I don't keep tabs on that.)
This is why I said it's "essentially" Windows-only at the moment. Portability of code is all well and good in theory, but my experience is that when people are in making money from their code portability rapidly disappears as a design goal. Unfortunately, this often results in the use of Microsoft components that aren't available to developers on other platforms.
I do, however, take the broader point that Mono has made great progress over the last couple of years.