I am part of a high school robotics team, and there is some debate about which language to use to program our robot. We are choosing between C (or maybe C++) and LabVIEW. There are pros for each language.
C(++):
- Widely used
- Good preparation for the future (most programming positions require text-based programmers.)
- We can expand upon our C codebase from last year
- Allows us to better understand what our robot is doing.
LabVIEW
- Easier to visualize program flow (blocks and wires, instead of lines of code)
- Easier to teach (Supposedly...)
- "The future of programming is graphical." (Think so?)
- Closer to the Robolab background that some new members may have.
- Don't need to intimately know what's going on. Simply tell the module to find the red ball, don't need to know how.
This is a very difficult decision for us, and we've been debating for a while. Based on those pros for each language, and on the experience you've got, what do you think the better option is? Keep in mind that we aren't necessarily going for pure efficiency. We also hope to prepare our programmers for a future in programming.
Also:
- Do you think that graphical languages such as LabVEIW are the future of programming?
- Is a graphical language easier to learn than a textual language? I think that they should be about equally challenging to learn.
- Seeing as we are partailly rooted in helping people learn, how much should we rely on prewritten modules, and how much should we try to write on our own? ("Good programmers write good code, great programmers copy great code." But isn't it worth being a good programmer, first?)
Thanks for the advice!
Edit: I'd like to emphasize this question more: The team captain thinks that LabVIEW is better for