FRC Control System - Java Programming

Currently FRC teams have two choices of languages for programming their robots, C/C++ and LabVIEW. We are making Java available as a third language for robot program development. The Java application programming interface (API) will be almost identical to C++ so programmers currently using C++ will have a very easy time picking up Java programming. This means that all the objects, methods, calls that you are using now with C++ will work with Java. The work is being done by WPI and Sun Microsystems for the 2010 competition season.

Why Java?

Java is a standard language that is used in high schools for teaching programming, in fact it was the language chosen for the programming AP exams. Java is also a safer language because it checks memory references while your program is running and immediately alerting you of bad pointers and arrays out of bounds. The Java syntax is very similar to C++ so programmers using C and C++ will easily learn Java.

What version of Java is this?

The Java port is based on the SunSPOT (Sun Small Programmable Object Technology Platform) designed to bring Java to small embedded devices. The SunSPOT platform is based on the Java ME or Micro Edition, the same version that runs on movile devices like phones, PDAs, TV set-top boxes and printers. Application development will work with standard Java Interactive Development Environments (IDEs) like NetBeans including full debugging. And, the development tools will run on Windows, Macs, and Linux!

How can I start learning Java now?

There are lots of books and online resources for learning Java. One resource that we recommend is the SunSPOT emulator that has been made available by Sun Microsystems. Although WPILib isn't quite ready yet, this emulator lets you play with Java programming right now in a very interactive way.

When can I get it?

The Java technology for the cRIO platform was demonstrated at the 2009 Championship and is being developed over the summer and will be going out for beta testing this fall. We will make it available to all teams in late fall, in time to start learning about it before the 2010 kickoff.

How do I become a beta tester?

Stay tuned to email blasts from FIRST for more information on applying to become a beta tester. We will have more information as the beta test gets nearer.

New releases

Here are news releases from FIRST, Sun Microsystems, and WPI on the announcement of Java Technology for the cRIO FRC platform.