I’m not. As I say in the current SD Times, the thing about J# is that it serves two very real niches: the bet-hedgers and the Java “pragmatic believers.” Bet-hedgers are those people who have decided not to jump to .NET, but who wish to keep their options open in case the market suddenly shift or if a particular opportunity arises. For those people, the key is maximizing their understanding of the .NET Framework per minute spent and even though it’s only a matter of days for a Java programmer to learn C#, it’s a better option for those people not to learn anything about languages, and just maintain a “bet hedging” knowledge of .NET.
When I say “pragmatic believers” I’m referring to those who fall short of reflexive loathing of all things Redmondian, but who believe that particular Java language features (say, checked exceptions) are important. Those people might eventually move towards a non-Java language, but if it’s not a great burden on MS to support them, why force them to make a decision?
The big challenge is that as the Java language evolves, how much effort will Redmond expend to keep J# in synchrony? Many of the features in the upcoming “Tiger” release of Java are already in C#, so those will be easy. The big question is generics — both C# “Whidbey” and Java “Tiger” will have a C++-derived syntax for generics (Collection<Type>), but early indications are that the underlying implementations will be hugely different. Given how ubiquitous generics will become the instant they become available, this may very well be the spot where J# and Java become eternally incompatible.