this is something we're looking at using to learn Java. It's "virtual" battle bots using Java or .NET It allows for programmers to just focus on code without the hardware problems. Haven't tried it yet though...
http://robocode.sourceforge.net/
I'll also ditto the above that say if you know C++/Java, why not code your bot with it?