Reason for Java:
* Free, as in beer.
* You will be very familiar with the syntax
* Very large and standard class library.
* Said class are very well written
* Java has a platform for behavior transfer from an address type to another.
* Automatic memory management AND manual override if you really want to manage your memory yourself.
* NoExplicitPointers?
* Good portability -> Lol all OSes with minimal effort
* Simplified syntax (compared to C++)
* Its not committee driven
* Amazing Documentation
* Huge community filled with snippets, tutorials and useful open source class.
* Gotta love OPP
* Eclipse is free and simply amazing, most people love it the first time they try it.
You might be tempted to go with C# but do you really want to code using a Huge Framework that's only compatible with Windows. Well, you could still use Mono, but you won't be able to use the latest version of the Framework which is 4.1 and Mono only support apps working with 2.1 Framework, this mean you will be force to use old Visual Studio 2003 or one of the Open Source alternative which I personally don't like. And don't forget that C# Garbage collector is still **** as of Framework 4.1.
Now tell me you didn't fall in love already? Well, I did.