One of the recent trends in operating systems and languages is the movement towards interpreted systems. As you know interpreted stuff means the instructions cannot be understood by the CPU natively, and must be translated at runtime. Some systems use a virtual machine (like java), others interpret the scripts as it is run (like perl and javascript). There are many different technologies that were invented to speed up the translation into native code, but the main point is that interpreted stuff does not run natively on the CPU, and this means it is SLOW, and at a minimum slower than native code (assembly or machine language). Interpreted languages and operating systems have their uses, but for games it is a resource eater, CPU resource in particular. After making stuff in java, perl, and .net, I can attest to the fact that no console will ever require game programmers to use interpreted stuff. Only slow casual games (like XNA) may work in interpreted systems, and these games are similar to those flash games or java applets in speed and complexity. It is such a sad case that Microsoft forces people to use .NET when programming applications. As newer versions of Virtual Studio are released, more and more stuff are dependent on .NET. What they don't realize is that forcing interpreted stuff on people will only backfire. Every games programmer and those apps that utilize the CPU heavily need to program at the lowest level possible. One reason Vista is so slow is that it forced all these virtual and interpreted levels between programs and the CPU. XP is faster than vista because it didn't need to go through ANOTHER layer (like virtual drivers) and an OS dependent on interpreted stuff (like .NET).
It is thus that Google made blunder with their gPhone. They are trying to compete with iPhone, but they force a java layer
between the apps and the cpu. Whenever you do that you are bound to be slower many many times. This is why there is never a direct comparison of apps made in gPhone and apps on iPhone (especially games), because they will realize that java stuff is SLOW. It is so slow that they put in a special chip to speed up java, but in the end speeding up java only speeds up the translating, but it STILL NEEDS translating to run on the CPU. This extra layer is what is slowing down the apps. Many companies don't realize that people want better and better and faster and faster stuff. If Sony releases a PS4 that is slower than PS3, people won't buy it, they will think it is like buying a PS2 when the last one they had was a PS3. And so Google releases gPhone that is slower than iPhone. Once they realize that gphone can't run 3D games faster than iPhone, and cpu intensive apps (like MEDIA) don't run good on gPhone, they will open up the API to allow people to run on the CPU natively and bypass Java. But time will tell. Maybe someone can release an SDK that exposes the CPU and graphics chip so people can REALLY appreciate the gPhone. Otherwise, I think it was a waste of resources, similar to how Microsoft wasted their time with .NET and C#.
Now after writing all that I do wish to provide the other side of the equation. Interpreted stuff do have their uses for casual and non-cpu intensive applications and games. Just like how Pascal was good for learning programming. But you would never force people to write in pascal to show off a game or application on a device with the latest powerful chip.. Perl is good for quickly writting an application to get things done fast, but you don't write fast applications in perl, as it would be too slow. Just like you use web applications for convenient online stuff in a browser, but for fast text replace and other intensive stuff you still need a real application programmed in C. it would only cripple it, if interpreted stuff is forced. So in essence, maybe the designers of systems will hit a wall and finally realize their mistakes.
Maybe Microsoft will wake up and find that .NET (like JavaBeans and other interpreted libraries) actually got them off of the moore's law of better and better, faster and faster.
