View Single Post
  #15   Spotlight this post!  
Unread 29-05-2012, 01:14
daniel_dsouza daniel_dsouza is offline
does what needs to be done.
FRC #2449 (Out of Orbit Robotics)
Team Role: Alumni
 
Join Date: May 2011
Rookie Year: 2011
Location: Chandler, AZ
Posts: 231
daniel_dsouza has a spectacular aura aboutdaniel_dsouza has a spectacular aura about
Re: Which language should we program in

Our team decided to use Java partly because the development environment is easy to set up (less than half an hour). All you have to do is download the relatively small IDE, and tell it to look in the update site for the robotics plugins. Netbeans, the Java IDE, also integrates nicely with our GitHub repository. On a team where a quarter of our team "helps" with programming, not spending several computer-hours installing LabView is a plus.

In the short run, Java is the language used in the AP Computer Science test. ASU uses Labview extensively in its engineering programs (or so I'm told). And in the real world, C++ and python takes a cut out piece of the pie. So what you plan to do with your programming future can also factor into this.

In terms of ease-of-use, I would think Labview would be the easiest. Having started out with the Lego Mindstorms sets, which are programmed with a (very) basic version of Labview, I can say that visually seeing loops and logic can be very convenient. That being said, line-code isn't that daunting. Not only are there great examples on the web (maybe a robotics forum), but FIRST also gives out comprehensive and ready-to-run examples (found with your plugins). For Java, the included javadoc provides outlines of all the WPI classes.

If I had to choose again which language I would use to program our robot, I would choose Java. There are some C++ aficionados on our team that point out that C++ doesn't need to be interpreted, and is therefore faster. However, Java is easier to pick up and wield, manages my memory, and doesn't have crazy grammar (to pointer or not to pointer...). Contrary to popular belief, Java offers all the capabilities that the other languages have!

In summary, Java. It is easy to install, useful now, use in the real world, has plenty of support, and is simple to use.

PS. This year, we encountered a team that arrived at competition with a C++ environment, but no usable code. By the end of the competition, one our members had set them up with a Java environment, written their code, and taught them a few tricks along the way!