|
Re: 2015 C++ Programming Environment
In the end, you can try any and all languages in the off season to see which one best suits your needs individually and as a team.
At the end of the day, they all can program the control system the same in 2015.
We started using Labview when the cRIO launched. 3 years after we switched to Java. The reason we switched to Java was because our students were having trouble understanding visual programming, and conflicting with the text based programming class they were learning in school. Other reasons was there was no clean way to do cloud based source control (at the time) as compared to text base languages. And we didn't fully understand how to collaborate in parallel development using labview.
So we looked to C++ and Java. The reason we chose Java over C++ was simple. Java is what is currently being taught as a first language in most universities today. (When I was a freshman it was C++). So because we want to give our students a leg up for college, we choose to go Java and have been using Java since 2012. We also have very dedicated mentors on our team who were willing to learn the ins and outs of each language and teach the students. This is a huge advantage, but if you do not have this on your team, and the students are left to learn some or most of the language programming constructs on their own, I believe there are more text based programming resources available online for Java and C++ then there are with Labview outside of cheifdelphi in general.
When switching we had doubts that Java would be slower or use up more resources than C++ and for that reason we thought C++ was the clear choice. However, we did our own comparisons between the performance of both languages and our tests showed that the differences were ignorable/tolerable and performance was not punished by the JVM. As a Alpha/Beta tester of the 2015 control system, this continues to be true for the new control system.
In the end, try them all, they can all do everything you need for FRC. It is just user preference, and we cant tell you what is best for you and your students. For us the students more quickly grasped text based languages after switching from labview, it aligned more with their current school programming course, better support of Github for source control, and being that Java is the number 1 taught language in universities for incoming college freshman's at the moment, are all part of why we choose the way we did.
You will find teams on chief using all 3 languages very successfully for many years. I suggest make selection criteria that is important to you to help choose which language is best. But also let the kids give it a whirl and see which language they find easier as a whole when creating a simple tank drive robot example from scratch.
Regards,
Kevin
__________________
Controls Engineer, Team 2168 - The Aluminum Falcons
[2016 Season] - World Championship Controls Award, District Controls Award, 3rd BlueBanner
-World Championship- #45 seed in Quals, World Championship Innovation in Controls Award - Curie
-NE Championship- #26 seed in Quals, winner(195,125,2168)
[2015 Season] - NE Championship Controls Award, 2nd Blue Banner
-NE Championship- #26 seed in Quals, NE Championship Innovation in Controls Award
-MA District Event- #17 seed in Quals, Winner(2168,3718,3146)
[2014 Season] - NE Championship Controls Award & Semi-finalists, District Controls Award, Creativity Award, & Finalists
-NE Championship- #36 seed in Quals, SemiFinalist(228,2168,3525), NE Championship Innovation in Controls Award
-RI District Event- #7 seed in Quals, Finalist(1519,2168,5163), Innovation in Controls Award
-Groton District Event- #9 seed in Quals, QuarterFinalist(2168, 125, 5112), Creativity Award
[2013 Season] - WPI Regional Winner - 1st Blue Banner
Last edited by NotInControl : 28-08-2014 at 21:56.
|