Go to Post Come on guys, its not like it's rocket surgery or anything. - hallk [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 04-11-2015, 22:18
Hankerd Hankerd is offline
Registered User
FRC #5260
 
Join Date: Feb 2015
Location: United States
Posts: 4
Hankerd is an unknown quantity at this point
Preferred Programming Language

Our team is trying to decide what language to program our robot with. We are a new team and started last year with LabView, but we have all new team members and thought we should figure out what will be most beneficial in the future for the students - like when they get out in the real world and want to use the programming skills they learn in FIRST. Would love to hear other's opinions of what we should teach the team that will help the team now, and keep helping them after their FIRST experience.
  #2   Spotlight this post!  
Unread 04-11-2015, 22:21
EDesbiens's Avatar
EDesbiens EDesbiens is offline
Passionate crackpot
AKA: Étienne Desbiens
FRC #5859 (i)
Team Role: College Student
 
Join Date: Apr 2014
Rookie Year: 2013
Location: Canton de Hatley, QC, Canada
Posts: 296
EDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of light
Re: Preferred Programming Language

Quote:
Originally Posted by Hankerd View Post
Our team is trying to decide what language to program our robot with. We are a new team and started last year with LabView, but we have all new team members and thought we should figure out what will be most beneficial in the future for the students - like when they get out in the real world and want to use the programming skills they learn in FIRST. Would love to hear other's opinions of what we should teach the team that will help the team now, and keep helping them after their FIRST experience.
In my opinion, Java is the most useful for the real world... But, I think that Labview is a very good choice since you can learn it very fast and that almost anyone, even without experience, can understand and debug your code (true story )...
__________________
Lisa: Players play and managers manage.
Ralph: Do alligators alligate?
  #3   Spotlight this post!  
Unread 04-11-2015, 22:25
Jacob Bendicksen's Avatar
Jacob Bendicksen Jacob Bendicksen is offline
Figuring out what's next
no team
Team Role: Alumni
 
Join Date: Apr 2013
Rookie Year: 2012
Location: United States
Posts: 762
Jacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond reputeJacob Bendicksen has a reputation beyond repute
Re: Preferred Programming Language

I think the usual answer is 'whatever language you know best/can learn most easily,' and this holds true here. We've had a lot of success with Java, but it's really more about how well the programmers know the language rather than the language itself.
__________________
jacobbendicksen.com | @jacobbendicksen

Yale University Class of 2020

Team 1540 | 2012-2016
7 Chairman's Awards, 6 other awards, 2015 Dean's List Finalist, 1 event win, 2 finalist finishes. Thanks for an amazing ride.
  #4   Spotlight this post!  
Unread 04-11-2015, 23:43
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,050
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: Preferred Programming Language

Yes, there are many threads on this topic in CD. And the answer is always the same: python.
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
  #5   Spotlight this post!  
Unread 05-11-2015, 00:02
Thad House Thad House is offline
Volunteer, WPILib Contributor
no team (Waiting for 2021)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Thousand Oaks, California
Posts: 1,087
Thad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond repute
Re: Preferred Programming Language

Quote:
Originally Posted by virtuald View Post
Yes, there are many threads on this topic in CD. And the answer is always the same: python.
Nah. Visual Basic is the obvious choice

In all seriousness, what do your mentors know? If you have a mentor that has a good amount of experience in one of the languages, I would highly recommend picking that one. If you don't have any programming mentors, I would personally recommend keeping LabVIEW, and it is usually the easiest to teach and debug in the time you have.
__________________
All statements made are my own and not the feelings of any of my affiliated teams.
Teams 1510 and 2898 - Student 2010-2012
Team 4488 - Mentor 2013-2016
Co-developer of RobotDotNet, a .NET port of the WPILib.
  #6   Spotlight this post!  
Unread 05-11-2015, 00:12
Jaci's Avatar
Jaci Jaci is offline
Registered User
AKA: Jaci R Brunning
FRC #5333 (Can't C# | OpenRIO)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Perth, Western Australia
Posts: 253
Jaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond repute
Re: Preferred Programming Language

Instead of the whole "do what you know", I'm going to try and answer this objectively. After all, some people are just looking to expand their knowledge -- nothing wrong with that

C++: Fast, efficient, but a bit of a steep learning curve for those who are new. Doesn't offer as much freedom as other platforms like the JVM, but is a good language for those who don't mind the extra work

Java: Semi-fast, not very efficient, but provides a good tradeoff with the amount of freedom the JVM gives you. Although the JVM eats up RAM like there's no tomorrow, there's no denying it's easy to prototype for and is quite nice for any skill level. You also get a lot of freedom with the language you choose, as Scala, Groovy and Clojure all fit under this umbrella.

Python: Although unofficial, the Python support for FRC is first-class. Testability, wonderful documentation and easy prototyping make it the language of choice for many. The syntax is easy to pick up for new programmers, but remains a powerful tool, although less speedy than the JVM and C++ alternatives.

LabView: Probably the most controversial language in FRC. Some love it, some hate it, and some don't even consider it a language. Although it's visual based, it runs quite well on the RoboRIO thanks to National Instruments. Doesn't give you the same degree of freedom as other languages, but a nice alternative for those who aren't quite ready to learn a full language, and who learn better visually.

Hopefully that list explains (almost) everything. If you want my personal, subjective opinion, I've taken a liking to using multiple languages. Java for control structure, Scala for dealing with data.
__________________
Jacinta R

Curtin FRC (5333+5663) : Mentor
5333 : Former [Captain | Programmer | Driver], Now Mentor
OpenRIO : Owner

Website | Twitter | Github
jaci.brunning@gmail.com
  #7   Spotlight this post!  
Unread 05-11-2015, 07:14
EDesbiens's Avatar
EDesbiens EDesbiens is offline
Passionate crackpot
AKA: Étienne Desbiens
FRC #5859 (i)
Team Role: College Student
 
Join Date: Apr 2014
Rookie Year: 2013
Location: Canton de Hatley, QC, Canada
Posts: 296
EDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of light
Re: Preferred Programming Language

Quote:
Originally Posted by Jaci View Post
LabView: Probably the most controversial language in FRC. Some love it, some hate it, and some don't even consider it a language. Although it's visual based, it runs quite well on the RoboRIO thanks to National Instruments. Doesn't give you the same degree of freedom as other languages, but a nice alternative for those who aren't quite ready to learn a full language, and who learn better visually.
Add that creating a nice visual driver station is really easy!
__________________
Lisa: Players play and managers manage.
Ralph: Do alligators alligate?
  #8   Spotlight this post!  
Unread 05-11-2015, 07:21
jgrindle's Avatar
jgrindle jgrindle is offline
Losing Sleep
AKA: John Grindle
FRC #5122 (RobOTies)
Team Role: Programmer
 
Join Date: Nov 2014
Rookie Year: 2015
Location: Old Town, ME
Posts: 34
jgrindle will become famous soon enough
Re: Preferred Programming Language

My two top languages would be Java or C++. Java has a lot more resource to find on it, so it makes it a much easier learning curve. C++ on the other hand doesn't have as much resources on it, but it can be very similar to java. I think the bigger thing is, is how much time do you have to learn. If you have little time, I would suggest going with Java. If you have a lot of time, I would try C++ by following the examples. Overall I'd say Java is the better language for beginning teams.

John
__________________

FRC 2015 Season: Programmer, Electrical, PIDTuner, Safety Captain
FRC 2015 Off-Season: Programmer, CAD Designer, Driver, Drive Team Coach, Electrical, Mechanical, PIDTuner
  #9   Spotlight this post!  
Unread 05-11-2015, 08:07
Ari423's Avatar
Ari423 Ari423 is offline
LabVIEW aficionado and robot addict
AKA: The guy with the yellow hat
FRC #5987 (Galaxia)
Team Role: Mentor
 
Join Date: Mar 2015
Rookie Year: 2012
Location: Haifa, Israel
Posts: 550
Ari423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant future
Re: Preferred Programming Language

If you are looking for a language that is commonly taught in schools and would be easier to find a mentor who knows, you should probably stick with Java.

If you do not anticipate finding a programming mentor, I would stick with LabVIEW. It is (in my opinion) by far the easiest language to be bad at and still end up with a working robot. And once you get good at it (which doesn't take very long), you can do all of the same level stuff as you can with Java. I entered FRC with very little programming knowledge. My first year as head programmer, using LabVIEW, we barely had a driving robot. by my second year, still with LabVIEW, we were able to do PID control, path planning, etc. (Note: this was on out test bot, not on our competition bot)

tl;dr I would highly recommend LabVIEW for any rookie head programmer without a programming mentor or knowledge of another language
__________________
2017-present: Mentor FRC 5987
2017-present: CSA for FIRST in Israel
2012-2016: Member FRC 423
2013: Programmer
2014: Head Programmer, Wiring
2015: Head Programmer, Wiring
2016: Captain, Head Programmer, Wiring, Manipulator, Chassis, CAD, Business, Outreach (basically everything)


  #10   Spotlight this post!  
Unread 05-11-2015, 09:42
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,748
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Preferred Programming Language

Quote:
Some love it, some hate it, and some don't even consider it a language.
This could also be written as ..

Some love it, some hate it, and some don't quite get the definition of a computer language.

But the advice from all who have posted is on point.

My 2 cents. Discuss it with a mentor. Develop a plan. Enjoy the opportunity to learn something new.

Greg McKaskle
  #11   Spotlight this post!  
Unread 05-11-2015, 10:48
Fauge7 Fauge7 is offline
Head programmer
FRC #3019 (firebird robotics)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2012
Location: Scottsdale
Posts: 195
Fauge7 is a name known to allFauge7 is a name known to allFauge7 is a name known to allFauge7 is a name known to allFauge7 is a name known to allFauge7 is a name known to all
Re: Preferred Programming Language

My 2 cents, plenty of teams on here will be able to help you with java/c++. I personally would love to mentor a team If you decide to use java.
  #12   Spotlight this post!  
Unread 05-11-2015, 10:54
EDesbiens's Avatar
EDesbiens EDesbiens is offline
Passionate crackpot
AKA: Étienne Desbiens
FRC #5859 (i)
Team Role: College Student
 
Join Date: Apr 2014
Rookie Year: 2013
Location: Canton de Hatley, QC, Canada
Posts: 296
EDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of lightEDesbiens is a glorious beacon of light
Re: Preferred Programming Language

Quote:
Originally Posted by Fauge7 View Post
My 2 cents, plenty of teams on here will be able to help you with java/c++. I personally would love to mentor a team If you decide to use java.
Same about labview... And I can do it in french!
__________________
Lisa: Players play and managers manage.
Ralph: Do alligators alligate?
  #13   Spotlight this post!  
Unread 06-11-2015, 09:06
CFH CFH is offline
Registered User
no team
Team Role: Programmer
 
Join Date: Sep 2015
Rookie Year: 2015
Location: Robbinsville, NJ
Posts: 1
CFH is an unknown quantity at this point
Re: Preferred Programming Language

All depends on your teams previous experience, my team has used tabview for the past few years, the pros is that it is easier to get pid loops up and running and that vision processing is easier (maybe?) but the cons is that find it harder to read and there is a bit of a learning curve, and the fact that virtually nobody learns it before first and will virtually never be used in the outside world ,

pros to java is that everybody already knows it, so no learning curve, global classes (aka "subsystems") are easier to use, most of the better teams use it, and it is easier to read, cons are that vision processing is fairly hard
  #14   Spotlight this post!  
Unread 06-11-2015, 09:43
RyanN's Avatar
RyanN RyanN is offline
RyanN
AKA: Ryan Nazaretian
FRC #4901 (Garnet Squadron)
Team Role: Mentor
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Columbia, SC
Posts: 1,126
RyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond repute
Re: Preferred Programming Language

Here's my opinion:

I love LabVIEW. I learned it by mentoring FRC and have used it at NASA for data acquisition. It also made some college lab and project stuff a bit easier to accomplish. It's a great language to learn for robotics and if you get the right job, you will definitely be using it. Big companies use it besides NASA.

C++ is my second favorite. C and C++ are very powerful languages that are used from small, low powered, embedded applications (robotics), to very high-powered supercomputers. It's probably the most difficult language to learn, but also the most versatile language to choose from.

Java hasn't been useful in my experience in electrical and computer engineering. I learned Java for my database class, but haven't had a need to use it since then. If you're into web development or Android development, then it'll be useful. Embedded... yea... it'll run on microprocessors, but not as common to see as C++.

Python is the most significant upcoming language. Since I got to college in 2008, it seems its use has exploded. I dabble in Python more than any other language right now. It was shoved down my throat in the past few years of college and I use it everyday now. It's not officially supported by FIRST, but I bet it will very soon. It's also pretty easy to learn for the first time (harder to learn when you're taught C++ because you keep trying to do things the hard way).

MATLAB and Simulink are also very useful collegiate and lab based software solutions... but NI and Mathworks aren't the best of friends (competing products). I used a ton of Simulink in graduate school and I know NASA used it quite a bit for modeling and data processing.
__________________
Garnet Squadron
FRC 4901
Controls Mentor
@rnazaretian

Previous mentor and student from Team Fusion, FRC 364
  #15   Spotlight this post!  
Unread 06-11-2015, 14:43
Jared's Avatar
Jared Jared is offline
Registered User
no team
Team Role: Programmer
 
Join Date: Aug 2013
Rookie Year: 2012
Location: Connecticut
Posts: 602
Jared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond repute
Re: Preferred Programming Language

Quote:
Originally Posted by CFH View Post
cons is that find it harder to read and there is a bit of a learning curve, and the fact that virtually nobody learns it before first and will virtually never be used in the outside world
In the past three months, I've seen LabVIEW and NI hardware used on a series of fiber optic connector inspection systems, a gasket inspection system, a medical device testing system, and a robotics lab at MIT. LabVIEW's vision toolkit is incredibly powerful, and is simply the best when it comes to extremely high accuracy 3D imaging needed in inspection systems. It's used in the robotics lab over matlab/simulink simply because the hardware support/debugging tools are superior.

If you major in computer science, you'll be very familiar with text based object oriented languages, but the large majority of CS majors (at least the ones at my school) will never have done any significant work in LabVIEW. I know people who have been offered paid internships that led to jobs just because they were familiar with LabVIEW and most other applicants weren't.
Closed Thread


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 12:46.

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