I think Java should just be let go. It's a terrible language coupled with slow runtime libraries that are constantly exploited by drive-by exploits. Java on mobiles is also horrible.. It's just so wrong on so many levels. On the other hand I've noticed C# to be what Java was supposed to be and a lot more. It's an awesome language with easy syntax, it has Visual Studio as development tool (who doesn't love VS?) and a ton of libraries and API support. It also has XNA and DirectX. Anyone who has tried developing for Windows Phone 7 loves it. It's great and so easy. Granted, Linux guys are lagging on the Linux runtime libraries, but that isn't Microsofts fault. C# is the way to go.