Quote:
Originally Posted by Robert103
For as long as I remember, my team used labVIEW every single year. This year however, we decided to switch to C++. Switching was... difficult. If you have enough support, however, it is definitely doable and worth it.
|
That switch made me happy.
------------------
I am mostly going to talk about C++ because I have never used Java in a FIRST context.
I would
definitely recommend a switch to Java or C++. It's much more useful, I think, down the line. I really benefited from learning C (which was used my first three years) and C++ when I went to college to study computer science.
There is a lot of great support for it and the C++ is nothing too involved. Bharat, Kristian, and I ran 2 programming workshops for our students and 103 in December (I have the slides from the second presentation that focused specifically on C++ in FIRST--the first session was barebones programming basics like what is an int) and they were able to get a pretty good handle on it from just those two days. It's really straightforward, I think, especially since some of our students had taken or were taking the intro to CS or AP CS classes at our school that teach Java. The differences between Java and C++ are minimal in terms of the depth of knowledge you really need to program a FIRST robot. Of course, if you use Java and experience a similar overlap, you're even better off.
As someone who learned C and C++ first, I once tried to do something in LabVIEW. And I was completely lost. And I have yet to encounter a situation where I've needed to know anything like LabVIEW. I do, however, do CS research where I use things like Java and C++ and such. In terms of moving from FIRST to the "real world," I'd say there's no competition.
RE: python. Python is a really great language to learn, but there is far less support for it. If you as the mentor feel comfortable with it and feel that you would be able to get the job done with it, then you can always give it a shot.
Since you are ultimately the one that will be teaching the students and will likely be their first go-to for any troubleshooting or problems, go with what you are comfortable with. I would recommend taking some time in the off-season to yourself to first acquaint yourself with the new language (if you have the time/resources, maybe try out two or something), but I highly recommend switching to Java or C++ just because of it better benefits students in their future endeavors.
Quote:
Originally Posted by Phalanx
I have had this very issue in my professional career with software and hardware products that are "supposed" to work together. Here's how it usually goes.
Vendor A says it must be something with Vendor B's product.
Vendor B says it must be something with Vendor A's product.
Round and around it goes, until someone other(usually ME) than Vendor A or Vendor B clearly identify who's problem it really is.
So I'd rather have one vendor to point a finger at, that can't point it at anyone else except themselves.
I'm only sharing my thoughts, my views, my experiences, the decisions are ultimately up to your team.
|
To be 100% honest, we have never had a problem that was "caused" by our using C++. Most of the issues we have had were solved through a quick ChiefDelphi search or a new post. Other times, we have contacted someone directly for support and our issues were resolved. This literally has
never been an issue. Greg McKaskle (he previously posted in this thread) responds to threads asking for help where people are using any of the three supported languages. Mostly because it comes down to something that can happen in any language (watchdog issues, not having the right firmware installed, etc.). I honestly don't think NI is ill-equipped to deal with C++ issues.