How to avoid using LabView

I am on a rookie team and at kick-off we were introduced to LabView, after working with it for a bit we decided it would be much nicer to write in Java, or maybe C++. What would we need to program a FRC robot in Java? Also we would really appreciate being able to use a simulator like the one for LabView, I saw FRCJCSS ( but am not quite sure how to use it. Also any help with recognizing the rectangles would be very nice, LabView already had a recognition program setup. Any help at all would be much appreciated, how to make LabView easier to use, examples of Java code or tips for writing anything. Could someone also possible explain how the cRIO reads the Java or LabView? I noticed the templates in Netbeans had no Main class, does it need one? I know this is a lot of questions but really any help on anything at all is wonderful.

I found this site really useful for understanding the basics of how everything worked:

It has both Java and C++ references. I’m not sure about a simulator but hopefully that will get you started.

You have a lot of questions, and I’m not sure I understand quite what you are looking for. Specifically, I don’t understand what “nicer” relates to.

I haven’t personally used the other simulation tools, but I do not know of one with all the features in the NI one.

There are very good tutorials for using Java, just search for them. I feel compelled to comment on switching to C++. While a great language, it is the most unforgiving. It will expose you to uninitialized variables, stale and uninitialized pointers, memory corruptions, memory leaks, and more. If you don’t have a mentor who is proficient in C++, this is a very gutsy move.

At one point you mention wanting to know how to make LV easier. I’m not sure what you have tried, but there are many help resources on the getting started page, on, and on this forum, but you will need to ask specific questions. There is no EASY button in FIRST.

The cRIO reads LV and Java programs into memory using either the debugging tools or using the startup command. The java program is loaded into the interpreter and the LV code is native, so it is scheduled by one or more OS threads. I suspect this didn’t answer your question, but if you can be more specific I’ll try again.

Greg McKaskle

Just one more note on C++ that sometimes get overlooked with the cRIO: the WindRiver loader. Code will sometime compile just fine and when it gets loaded into the cRIO there are startup exceptions that can go unnoticed until you actually try to run Autonomous or Tele-Op from the driver station.

Depending on what your goals are as a rookie team and where your students are starting in terms of programming skills, you may want to reconsider LabView as it is a low entry point for a team with limited experience/resources.

Step 1: don’t install labview