Go to Post For me, this is the most powerful message of FIRST, that people can come together and work together to achieve so much, and leave old rivalries, grudges, and hard feelings behind. When people talk about culture change, this is what I hope for. - Aren Siekmeier [more]
Home
Go Back   Chief Delphi > FIRST > General Forum
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 12-10-2012, 00:40
F22Rapture's Avatar
F22Rapture F22Rapture is offline
College Student, Mentor
AKA: Daniel A
FRC #3737 (4H Rotoraptors)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Goldsboro, NC
Posts: 476
F22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant future
Re: Chosing a Programming Language

Quote:
Originally Posted by apalrd View Post
While this might be true for "desktop" programming (the kind taught by most Comp Sci programs), I respectfully disagree.

LabVIEW is used a lot in industry for what it was originally designed for - instrumentation and testing. Many test setups I know of use NI hardware and run LabVIEW code. LV is an important skill for many engineers who aren't CS's.

LabVIEW is also an extremely powerful language. There is nothing that I know of that is simply impossible (although a few things are tricky). The FIRST libraries are also fairly easy to use from a users perspective (although there are a few design quirks that are clear marks of different code authors not collaborating closely enough - "To Digital Source" for encoders is a great example).

I also don't see any reason why Java or C++ would be harder to debug than the other - Your basically limited to printf's/language equivalents in any form, and most FRC operations don't touch pointer math so you shouldn't get segfaults with no explanation (which are almost always the worst to debug).
Fair enough, I'm well aware that LabView is very well-used in embedded and analytical systems, but my point was that for the majority of students a more conventional programming language would probably be more useful. Java, C++, and C# are 3 of the most-used languages on the planet, and they're all quite similar in many respects.

As for debugging, I probably generalized a bit more than I should have, though Java does have a few extra debugging features such as printstacktrace()
__________________
Research is what I’m doing when I don’t know what I’m doing.
- Wernher von Braun
Attending: Raleigh NC Regional
Reply With Quote
  #2   Spotlight this post!  
Unread 12-10-2012, 01:41
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: Chosing a Programming Language

There are dozens of other threads out there, some discussing the finer points between languages. But to answer your question:

We use Java. If we were to pick a second, we'd pick C++, and Labview last. Our mentors are fluent in Java, so we use Java. Personally, the write, debug, repeat cycle is much faster for me on Java, but I haven't used too many of WindRiver's amazing features yet.

JAVA:
- Quick code deploy
- easy to read
- not as much image support, but its enough for many teams' needs
- free programming platforms (netbeans, eclipse), no license, year round development
- Java ME (the software on robot) is older
- For FRC purposes, is just as fast as C++
- great for that AP test
- easy to teach...very important

C++:
- Quick code deploy
- options to choose permanent, or stay-till-robot-reboots deploy
- there is a windriver license, and you need discs
- provides an opportunity to use Python
- C++ is used for a wide variety of everything
- a great excuse to take advantage of MS dreamspark (if you want to explore Visual Studio), who gave us vouchers in the KOP.

Labview:
- can't give you much here, haven't used it much
- very visual - take that as you wish
- takes way longer to install than a java environment
- installs from USB and runs "well" on netbooks (what runs well on netbooks anyway)

The easiest way to conclude, is to say that there is no BEST programming language. As with life, you use whichever language gets you the maximum yield with the resources you have.
Reply With Quote
  #3   Spotlight this post!  
Unread 12-10-2012, 19:58
CLandrum3081's Avatar
CLandrum3081 CLandrum3081 is offline
Alumni? Wait, what?!
AKA: Catherine Landrum
FRC #3081 (RoboEagles)
Team Role: Alumni
 
Join Date: Jul 2012
Rookie Year: 2012
Location: Bloomington, MN
Posts: 100
CLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond reputeCLandrum3081 has a reputation beyond repute
Re: Chosing a Programming Language

This is from my experience. I am not a programmer for the team but have outside experience programming and am currently working with our programming mentor. Keep in mind this is a general overview and my experience is limited.

3081 has had a weird situation (a year or two out of our four previous years, I think) with programming in both LabView and C++ because our programmers weren't agreeing on which one to use. This year, we're switching completely to C++.

We don't use Java and haven't used it recently and I don't have experience with it.

LabView is easy to learn and use, but it can be limiting if you want to do something fairly complicated.

C++ is very hard to learn and master, but once it is mastered (or at least understood enough to use properly), you can do more with it.

All in all, if you're a beginner, use LabView. If you have some experience or a mentor that does, use C++. I'm new to C++ and while it's a great language, it's also a great headache.

Hope that helped somewhat.

Catherine
__________________


FRC Team 3081 John F. Kennedy HS RoboEagles
2012: Rookie, person who does anything everyone else is too lazy to do, de facto scouting lead
2013: Co-Captain and Build Lead who still does anything everyone else is too lazy to do
2014: Co-Captain (AGAIN?!) and Scouting/Strategy/CAD/Pit Representative who has finally learned how to delegate tasks to others responsibly
2012 MN Land of 10,000 Lakes Regional Champions (with 3747 ChaoTech and 525 Swartdogs)
2012 Inaugural MN State High School League 2nd Seed Alliance Captain and Runner-Up (with 3747 ChaoTech and 2232 Deus Ex Machina)
2013 Ehm.... not much! Attended Northern Lights and 10K
2014 Attended Wisconsin and MN Land of 10K Lakes Regionals
Reply With Quote
  #4   Spotlight this post!  
Unread 15-10-2012, 15:06
Anupam Goli's Avatar
Anupam Goli Anupam Goli is offline
PCH Q&A co-founder/Scouting Mentor
AKA: noops
FRC #1648 (G3 Robotics)
Team Role: Mentor
 
Join Date: Dec 2010
Rookie Year: 2008
Location: Atlanta, Georgia
Posts: 1,242
Anupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond reputeAnupam Goli has a reputation beyond repute
Re: Chosing a Programming Language

Honestly, there isn't a huge difference in the language you use.

When you get down to it, Computer Science and Software Design is the same regardless of the language you use. Of course, you can't jump into things right away, but for any student going into CS or ECE should know be well versed enough in Computer Science or Software Design to overlook the language and to know the concepts. Example: I only used Java in high school, but in the past semester, I've had to learn MATLAB, LabVIEW, and C for my courses as Computer Engineering major. It honestly was not a big deal at all, as the concepts were the same, just the way of writing it was different.

That being said, are your students well versed in computing or are they not?

If they are, then the language used isn't a big deal. The differences in processing speed and power are negligible. Documentation on all of the languages is pretty expansive.

If your students are new, starting them on something like Java (If you have mentors experienced with TEACHING computing concepts or if the school has a Computer Science class) or LabVIEW(very simple to pick up initially, though frustrating for veterans used to text-based coding) are recommended. Java is very very easy for any student to learn due to the thought process behind the Object Oriented programming setup in Java. LabVIEW uses a GUI and drag-and-drop interface. C++ is for people with knowledge, but once again, if the students understand the basic computing concepts, any programming language can be used to no detrimental effect.
__________________
Team 1002: 2008-2012
Team 1648: 2012-2016
Georgia Tech Class of 2016
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 17:33.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi