Ahem
Beating a dead horse, that was dead a long time before FIRST robotics came around, but throwing in my two cents anyways.
In FIRST robotics, for the applications we develop, if you’re concerned with efficiency, then it doesn’t matter really at all whether you use labview, c++, or java.
All three are more than sufficiently tight to handle any application a FIRST robot utilizes, so long as it’s written correctly.
So long as it’s written correctly being the key statement.
I recommend using whatever language your team has the most experience with, or your mentors are most familiar with, or at the worst case, just the one you feel like you want to learn. Hell, take a year and write your robot code from that year in all three and pick one based on just your personal impressions if you want, but keep in mind, if it’s slow, if your CPU is capped and your logic isn’t getting executed on time, it’s very, very, very likely that you’re doing it wrong, rather than the language is to blame.
And if someone comes along and mentions something akin to ‘all the best teams on Einstein seem to be using c++’, don’t forget that a lot of the teams on Einstein are either senior teams, who used to HAVE to develop in C, and so already had experience with that when it came to picking between c++ or labview, or have great mentors, and mentors who were probably born in the 50’s-80’s are much more likely to have C++ experience than java or labview experience, and mentors born from the 70’s-80’s are much more likely to have java experience on top of c++ experience, but still very little labview, just because it’s relatively young and has historically had very specific market exposure.
In my work place we use C, C++, Ada, Java, Labview, and many others, and all are slightly better or more convenient for certain things, but what’s most important in every application is that you use something your team is comfortable with, because the great deal of real world efficiency problems are caused because the developer that wrote the functionality didn’t realize they could have made it faster if they implemented it slightly different, and are entirely the developers ‘fault’.