Go to Post It's a hunch, based on engineering intuition; there are too many hard-to-quantify variables to do any accurate calculations. Looking for some experimental corroboration or refutation. - Ether [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
  #16   Spotlight this post!  
Unread 02-07-2016, 01:58
teku14's Avatar
teku14 teku14 is offline
http:
FRC #2614 (MARS)
Team Role: Programmer
 
Join Date: Apr 2014
Rookie Year: 2013
Location: Morgantown, WV
Posts: 64
teku14 is a jewel in the roughteku14 is a jewel in the roughteku14 is a jewel in the roughteku14 is a jewel in the rough
Re: FRC Java or Labview?

This is a classic debate on CD.

As many of the others have stated on this thread, you should go with the language that you are most comfortable with and further your efforts in that. But I do want to dispel one notion about Labview as though it is some kind of a regression. From what I have seen, labview in FRC is atleast as powerful as Java is. Yes, it has a low entry point making it very accessible to newer teams and programmers but it also has a very high skill cap. Several veteran teams use it and have had no trouble achieving what any Java or C team has. I would also like to point out that Labview is used in many applications beyond FIRST such as indisutrial automation and testing. While Java is the more popular and more widely used language in the real world, it is also undeniably been on the decline.

That aside, there is no difference in what you can achieve with Labview or Java in FRC and the choice should be based solely off of which your team has the most experience with and is more comfortable with. I see that while you all have used Java thus far, your mentors seem to be proficient in Labview. I know that mentor expertise is the deciding factor for many teams in their choice of language so I urge you to keep your options open.
Reply With Quote
  #17   Spotlight this post!  
Unread 02-07-2016, 02:41
GuyM142's Avatar
GuyM142 GuyM142 is offline
Registered User
AKA: Guy
FRC #3339 (BumbleBee)
Team Role: Mentor
 
Join Date: Jul 2013
Rookie Year: 2012
Location: Israel
Posts: 156
GuyM142 is just really niceGuyM142 is just really niceGuyM142 is just really niceGuyM142 is just really niceGuyM142 is just really nice
Re: FRC Java or Labview?

I think that you can be successful with either language,
Our team uses LabVIEW and we keep using it because it was used since our rookie year and we gained experience with it.

I think you should consider the following things in your decision:

1) How many students on the team have already had a season using Java?
Experience is something you should maintain and a transition may be a struggle.

2) How many new students came with no programming experience?
As far as I know it's much easier to teach LabVIEW to new programmers.

3) Are there any mentors on the team that know Java or LabVIEW already?
Mentor support is always good, if you have a mentor that knows Java you should consider staying.

4) What programming languages does other teams use around you?
Getting support from other teams around you can help solve problems faster, even during build season.

Hope it helped,
בהצלחה
__________________
2016-2017 - Programming Mentor
Curie Sub-Division Champions with 694, 379 & 1511
2015 - Team Captain & Head of Programming Crew
Carson Sub-Division Champions with 1325, 20 & 1711
First ever Israeli team on Einstein
2014 - Team Captain & Head of Programming Crew
2013 - Head of Programming Crew
2012 - Member of Programming Crew
Reply With Quote
  #18   Spotlight this post!  
Unread 02-07-2016, 11:18
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,112
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: FRC Java or Labview?

LabVIEW compile times are longer, but not prohibitively so. It only takes a matter of seconds to put compiled code on the robot.

LabVIEW seems harder for people who are used to a procedural language like C++ or Java. That's usually because they are trying to approach it using what they already know. Unfortunately, what they already know is largely inapplicable to dataflow languages and actually gets in the way. If you start out with the idea that you know nothing, you will find LabVIEW much easier to learn and use.

LabVIEW is simple to start out with. It is also very powerful. Its inherent parallel nature makes it easy to do some things which are difficult in other languages.

On the other hand, typical object-oriented features are not as deeply baked in, so common OO constructs aren't as simple, though again thats mostly an issue for people with a good background in such languages.
Reply With Quote
  #19   Spotlight this post!  
Unread 02-07-2016, 22:01
GeeTwo's Avatar
GeeTwo GeeTwo is offline
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,531
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
Re: FRC Java or Labview?

Both Java and Labview (and C++, of course) have competed at the highest levels. The question is what is right for your team? How many programmers already know each language, how many mentors are comfortable in either language, and how many mentors are willing to learn the other?

We have been a Java team from 2012 to 2016, but we're looking at only one student who's done any significant programming being on next year's team. Our steady programming mentor for the first five years is backing out a bit (maybe more) due to marriage, moving, and a new job that will send him to sea in various places around the world.. If our new programming mentor wanted to switch to LV, this is probably the year we'd do it.

Repeating the bottom line - which is better is much more dependent on your internal capabilities than any abstract "betterness" of the program language. The only considerations outside your team should be online support. LV, Java, and C++ all have decent support on CD, but perhaps one or two of these languages has better local/hands-on support from nearby teams.

Play the ball as it lies.
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.
Reply With Quote
  #20   Spotlight this post!  
Unread 03-07-2016, 17:12
Joseph DeRoest's Avatar
Joseph DeRoest Joseph DeRoest is offline
Registered User
FRC #2990 (Hotwire Robotics)
Team Role: Programmer
 
Join Date: Jan 2014
Rookie Year: 2012
Location: Stayton, OR
Posts: 25
Joseph DeRoest is a jewel in the roughJoseph DeRoest is a jewel in the roughJoseph DeRoest is a jewel in the rough
Re: FRC Java or Labview?

I've been programming in LabVIEW for 4 years now, and would like to give you some technical details about it. As for Java, I'm actually learning it as I speak, so I can't be of too much help in that. Sorry.

Pros:

LabVIEW looks more simple for beginners because of the graphical aspect: wires connecting to blocks, drag-and-drop, selecting stuff by drawing a box around them, all of that is more familiar to people with no prior programming experience.
LabVIEW is amazing at running different parts of code in parallel.
There is A LOT of support for LabVIEW on Chief Delphi!
It is an industry-standard programming language.
You can drag-and-drop other teams' LabVIEW code directly into yours.
LabVIEW has many nice tools to help you when programming. For example, to help with following data transfer inside the code, there is a highlight function that highlights the data flow in ordinal fashion.


Now, LabVIEW does come with quite some quirks and annoyances...

Cons:
LabVIEW and trackpads DO NOT MIX! It basically requires you to have a mouse.
LabVIEW's version of vision processing has a bunch of lag (about a half a second).
The LabVIEW application has no tab interface; in other words, if you have 5 VI's open at the same time, you will have a messy conglomerate of 5 windows on your screen that you will have to switch between.
LabVIEW looks like a nightmare for those who have prior programming experience in a text-based language with its wires going everywhere, random blocks and boxes, etc.
Merging two VI's in LabVIEW is literally THE WORST! A VI-merging application is included in the FRC LabVIEW Suite, but it takes at least 30 minutes just to merge average LabVIEW code, and it may not even do it just the way you want it to, either.
It takes LabVIEW quite some time to deploy code to the robot. I had a weird issue in which the code would not deploy correctly, and in the end, would display a connection issue, so I would have to almost always deploy the code twice or even thrice.
Once you begin making more advanced programs, LabVIEW code becomes more and more complex. For example, my team this year has two cameras on the robot for driver vision, and we wanted to be able to switch between the two camera views at the push of a button. To do that, we had to dig reeeaaaly deep into the existing code infrastructure (roughly seven layers of SubVI's) and change several components. It took several hours of debugging just to make it work!
Debugging in LabVIEW can be time-consuming, mind-boggling, and overly complicated overall.


Once again, I'm sorry that I can't be of too much help when it comes to Java (yet...). If you have any questions, I will reply as soon as I can. Hope this helps!
__________________
Reply With Quote
  #21   Spotlight this post!  
Unread 04-07-2016, 07:27
cnc4 cnc4 is offline
Registered User
FRC #2231
 
Join Date: Jul 2016
Location: Israel
Posts: 8
cnc4 is an unknown quantity at this point
Re: FRC Java or Labview?

Thank you all for your answers, i really appreciate it.
I have one question, what support does Labview have with Git?
Or maybe there are other source control for it?
Reply With Quote
  #22   Spotlight this post!  
Unread 04-07-2016, 07:58
phurley67 phurley67 is offline
Programming Mentor
FRC #0862 (Lightning Robotics)
Team Role: Mentor
 
Join Date: Apr 2014
Rookie Year: 2013
Location: Michigan
Posts: 63
phurley67 is an unknown quantity at this point
Re: FRC Java or Labview?

We have been a labVIEW team of late and are planning on switching to Java, for two reasons.

The primary reason is a direct response to your last question. Using LabVIEW with version control is difficult. If you have a single developer or only a single development machine, LabVIEW has an integrated versioning system you can enable which will provide the "time machine" aspect of version control without any merging capability, which works effectively.

Once you want to have 5 different people working on different sections of code, we have found it difficult (not impossible) working in LabVIEW. In particular LabVIEW has a tendency to "change" VIs (like files in Java) whenever they are opened, even if you did not make a conscious modification. If developers are not exceedingly careful with their commits GIT (or any other optimized for text versioning system) will shrug and force you to handle the differences yourself. LabVIEW does come with a reasonably useful VI diff/merge utility which can be integrated into git/subversion workflows; however, we have had trouble properly utilizing it, especially compared to the ease with which git can handle merging text files.

Our second issue with LabVIEW has also been mentioned above -- longer/unpredictable deployment times. This is not the compilation process, but rather the way in which code is transferred to the RIO. We have experienced numerous communication failures, resets, incomplete deployments. I suspect this may have something to do with portions of our code running in fast loops, as I do not see the problem on freshly imaged RIOs or teams using very simple configurations. That said deploying new code should not be so significantly impacted by previously deployed code you are trying to replace :-)

Regardless both languages are capable of developing advanced robots and each has their own advantages (e.g. it is very hard to beat LabVIEWs ability to graph/visualize data on the fly during development).

Good Luck
Reply With Quote
  #23   Spotlight this post!  
Unread 04-07-2016, 10:46
Coach Seb's Avatar
Coach Seb Coach Seb is offline
Registered User
AKA: Sebastien Cournoyer
FRC #5860 (Full Metal Muskrats)
Team Role: Coach
 
Join Date: Sep 2015
Rookie Year: 2015
Location: Algonac, MI
Posts: 97
Coach Seb is an unknown quantity at this point
Re: FRC Java or Labview?

2016 was our rookie team and we had one programmer that ;learned LV on its own with help from a couple other local team. He did pretty good considering that he was pretty much on its own. Just graduated and we are now starting from scratch again.

I reviewed some data from FIRST and found that of all robot that connected to a field last year, 49% use Java, 35% use LV... remaining are C++ and a few Python....

I decided to check out Java... i love the Eclipse interface. I used Robotbuilder successfully to build a few small subsystems and so far i really like the test mode using the java Smartdashboard. Just that for us justify making the switch.

Our students are already learning basic Java programming as they are expecting the switch.

I did not successfully control a test robot yet... but i am confident that i can make it work... finding a lot of resources online. Hoping this will be a good move... only time will tell...
Reply With Quote
  #24   Spotlight this post!  
Unread 04-07-2016, 12:11
teku14's Avatar
teku14 teku14 is offline
http:
FRC #2614 (MARS)
Team Role: Programmer
 
Join Date: Apr 2014
Rookie Year: 2013
Location: Morgantown, WV
Posts: 64
teku14 is a jewel in the roughteku14 is a jewel in the roughteku14 is a jewel in the roughteku14 is a jewel in the rough
Re: FRC Java or Labview?

Quote:
Originally Posted by cnc4 View Post
Thank you all for your answers, i really appreciate it.
I have one question, what support does Labview have with Git?
Or maybe there are other source control for it?
We use Subversion (SVN) with TortiseSVN. It's quite simple to use and gets the job done for us.
Reply With Quote
  #25   Spotlight this post!  
Unread 04-07-2016, 13:00
marshall's Avatar
marshall marshall is offline
My pants are louder than yours.
FRC #0900 (The Zebracorns)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2003
Location: North Carolina
Posts: 1,227
marshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond repute
Re: FRC Java or Labview?

Quote:
Originally Posted by cnc4 View Post
I have one question, what support does Labview have with Git?
A lot of teams use SVN. Git isn't officially supported by LabVIEW yet but I believe it is coming soon. We use LabVIEW with git though and we couldn't work without it. We're a LabVIEW team and quite happy with it. YMMV though.
__________________
"La mejor salsa del mundo es la hambre" - Miguel de Cervantes
"The future is unwritten" - Joe Strummer
"Simplify, then add lightness" - Colin Chapman

Last edited by marshall : 04-07-2016 at 13:02.
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 09:40.

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