Go to Post Don't underestimate the ability of a highly skilled technician with simple tools (and don't overestimate the ability of an unskilled fool with exotic tools!). - dlavery [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 01-04-2010, 22:54
The Lucas's Avatar
The Lucas The Lucas is offline
CaMOElot, it is a silly place
AKA: My First Name is really "The" (or Brian)
FRC #0365 (The Miracle Workerz); FRC#1495 (AGR); FRC#4342 (Demon)
Team Role: Mentor
 
Join Date: Mar 2002
Rookie Year: 2001
Location: Dela-Where?
Posts: 1,564
The Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond repute
Send a message via AIM to The Lucas
Re: PROGRAMMERS: WIND RIVER C++ vs LABVIEW vs JAVA

Quote:
Originally Posted by davidthefat View Post
Personally I wouldn't call LabView coding at all...
When I saw this thread I thought "Over/Under 5 posts before some throws out this particular flame" Looks like it a push and I was right on. This argument is getting old and predictable.

My team uses C++ because that is what works best for us. All 3 languages are coding. I suggest everyone try to learn all 3 of them. Trying to argue that any one language is better for programming FIRST robots is a meaningless pursuit, it is all based on personal opinion. They certainly have their own pros and cons (which are fine to discuss) but all are equally capable. Try to focus on what you would tell a rookie team trying to choose between the 3.
__________________
Electrical & Programming Mentor ---Team #365 "The Miracle Workerz"
Programming Mentor ---Team #4342 "Demon Robotics"
Founding Mentor --- Team #1495 Avon Grove High School
2007 CMP Chairman's Award - Thanks to all MOE members (and others) past and present who made it a reality.
Robot Inspector
"I don't think I'm ever more ''aware'' than I am right after I burn my thumb with a soldering iron"
  #2   Spotlight this post!  
Unread 01-04-2010, 22:58
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: PROGRAMMERS: WIND RIVER C++ vs LABVIEW vs JAVA

Quote:
Originally Posted by The Lucas View Post
When I saw this thread I thought "Over/Under 5 posts before some throws out this particular flame" Looks like it a push and I was right on. This argument is getting old and predictable.

My team uses C++ because that is what works best for us. All 3 languages are coding. I suggest everyone try to learn all 3 of them. Trying to argue that any one language is better for programming FIRST robots is a meaningless pursuit, it is all based on personal opinion. They certainly have their own pros and cons (which are fine to discuss) but all are equally capable. Try to focus on what you would tell a rookie team trying to choose between the 3.
I personally will tell the said rookie team to pick up a C++ book and read it and study and meditate on it, IMHO its way more useful in the real world out of the 3. If you learn C++, you pretty much know Java (except alot of the java specific stuff), won't take you very long to pick up on java. Plus most real world applications are in C/C++, like Operating Systems, Games, and tons of stuff.
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
  #3   Spotlight this post!  
Unread 02-04-2010, 10:24
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,058
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: PROGRAMMERS: WIND RIVER C++ vs LABVIEW vs JAVA

Quote:
Originally Posted by davidthefat View Post
I personally will tell the said rookie team to pick up a C++ book and read it and study and meditate on it, IMHO its way more useful in the real world out of the 3. If you learn C++, you pretty much know Java (except alot of the java specific stuff), won't take you very long to pick up on java. Plus most real world applications are in C/C++, like Operating Systems, Games, and tons of stuff.
Right... the 'real' world... and how many years have you been working in the software industry now?

It just depends on where you end up in the 'real' world. Different languages are better for different tasks. There is a lot to be said for domain-specific languages (such as Matlab) and scripting languages (such as python). Just depends on what you're trying to accomplish and what you're used to.
__________________
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
  #4   Spotlight this post!  
Unread 02-04-2010, 14:45
Egg 3141592654's Avatar
Egg 3141592654 Egg 3141592654 is offline
Now a mentor, always a student
FRC #0810 (Mechanical Bulls)
Team Role: Programmer
 
Join Date: Feb 2010
Rookie Year: 2008
Location: Long Island
Posts: 53
Egg 3141592654 is on a distinguished road
Re: PROGRAMMERS: WIND RIVER C++ vs LABVIEW vs JAVA

It really depends on the task. I myself know Labview and Java like the back of my hand, and I know the very basic things about C++ (not enough for a robot). I have chosen Labview the past two years only because it is much easier to debug and understand core concepts for beginners. Next year, our team is moving onto Java, only because, as a long time text coder, Labview was very confusing to trace.

In terms of performance, our Labview takes FOREVER to deploy and build, but there is no noticeable lag difference between the two when they are in the robot and running. C++ could potentially be a bit more frugal with memory to decrease junk code, but that depends who is sitting behind the computer monitor. I say it depends on the task to determine which is the stronger language to code in.
__________________
"The answers to the book of life are not found in the back." Charlie Brown

Software Mentor - Team Apex Robotics 5803

Lead Programmer - Team 810 Mechanical Bulls '09-'11
  #5   Spotlight this post!  
Unread 02-04-2010, 15:57
mathking's Avatar
mathking mathking is offline
Coach/Faculty Advisor
AKA: Greg King
FRC #1014 (Dublin Robotics aka "Bad Robots")
Team Role: Teacher
 
Join Date: Jan 2005
Rookie Year: 1999
Location: Columbus, OH
Posts: 636
mathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond repute
Re: PROGRAMMERS: WIND RIVER C++ vs LABVIEW vs JAVA

I will offer another plea to be open minded about languages when you make decisions, and listen to your mentors, many of whom have a significant amount of experience in programming.

As for Lab View not being real programming, put that right out of your mind. (I have always been impressed with LabView, and the first time I saw was more than 20 years ago.) I have been teaching CS for a while now, and I know that one of the constant "discussions" in computer science education circles is whether to start students on Assembly programming or not. I count myself firmly in the "not" category here. Learning to program is about learning how to break a problem down into smaller problems, finding algorithms to solve those problems, translating those algorithms in instructions the computer can understand and then debugging. The last step takes an order of magnitude more time than all of the others. Too much detail at the start tends to make you worse, not better, at programming. For learning the ins and outs of programming a robot LabView is a fine choice. It is really good for modeling and controlling embedded systems. If you are of the "I would rather not use that particular front end, I would rather use the 'real stuff' do my own C programming" consider that someone has to write the C compiler (a task you will likely have to undertake if you go far enough in studying CS). So why are you looking down your nose at using something that "was probably coded in C anyway" when you are just using something that was ultimately coded in Assembly, which is not itself really how the computer works by the way.

As for language choice, what you are familiar with will tend to be what you favor. But one job of a mentor (and a main job of a teacher) is to help you grow intellectually. One good way of doing that is making you learn something new. Even better is writing code on a couple of platforms and evaluating to see which is better for what you need. This year we developed code for both LabView and Java. Our decision this year to ultimately choose Java over LabView was due to our desire to use CAN, which was much easier in Java than LabView. But this doesn't mean that Java is superior, just that it served our purposes better.

I first learned programming in Fortran, then in BASIC. My first job programming was in C. I would say that C/C++ is what I am most comfortable using for my own coding, although teaching AP Computer Science has made me pretty comfortable with Java. If I am writing a simple program for myself I will often write it in Java just because it is easier to make a simple GUI and get it working. But one thing I tell my students is that they should never make their decisions about what language is best while they are in high school based on their perceptions of the real world. Even if their perceptions are accurate, what they learn in high school will not be what they use for most of their lives. When I was in high school (early 80s) my programming teacher told us we really needed to learn COBOL if we wanted to ever be employed in the field. So I did, and have never really used it. She wasn't wrong about the field at that time, but it changed. There was a big upsurge in COBOL jobs for a while leading up to Y2K, but now they are going away fast.

Now that I am at the end of my "open yourself up to new experiences" sermon, my two cents about language choice. I find that Java has a lot to recommend for this kind of robot programming. The way Java handles events, threads and exceptions is straightforward and easy to implement. It makes for much more robust code than typical C++ code. As for Java being filled with "fluff," most of the so-called fluff is just a standard implementation of coding standards that you will be forced to use by an employer if you ever code for big projects in any language.
__________________
Thank you Bad Robots for giving me the chance to coach this team.
Rookie All-Star Award: 2003 Buckeye
Engineering Inspiration Award: 2004 Pittsburgh, 2014 Crossroads
Chairman's Award: 2005 Pittsburgh, 2009 Buckeye, 2012 Queen City
Team Spirit Award: 2007 Buckeye, 2015 Queen City
Woodie Flowers Award: 2009 Buckeye
Dean's List Finalists: Phil Aufdencamp (2010), Lindsey Fox (2011), Kyle Torrico (2011), Alix Bernier (2013), Deepthi Thumuluri (2015)
Gracious Professionalism Award: 2013 Buckeye
Innovation in Controls Award: 2015 Pittsburgh
Event Finalists: 2012 CORI, 2016 Buckeye
  #6   Spotlight this post!  
Unread 02-04-2010, 17:09
synth3tk's Avatar
synth3tk synth3tk is offline
Volunteer / The Blue Alliance
AKA: David Thomas
no team
Team Role: Alumni
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Ohio
Posts: 2,005
synth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond repute
Re: PROGRAMMERS: WIND RIVER C++ vs LABVIEW vs JAVA

I don't know (or care) if it's "the best", but we used Java. Our three (3!!!) student programmers either left, or didn't return, and none of the freshmen had no desire to learn programming at all. So I was stuck with the role. While we had default/leftover code from previous years written in other languages, myself and the team mentor decided to use Java. Randomly.

I'll tell you what, though, I knew absolutely nothing of Java as of January 9th, 2010, beside the fact that it's a programming language. That first week of build, I started learning the syntax, rules, and studied the default code. By week 4, the robot drove, and the pneumatic kicker worked. Had I been given more than 2-3 days of exclusive access to the robot, I probably would have had a nice autonomous working.


Also, quick note, never count out other languages, ever. Sure, you may love the most popular language used, but knowing X or Y may cost you a job/project.
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Wind River Cds Team1710 C/C++ 0 22-09-2009 10:57
Uninstall Wind River Lord_Jeremy C/C++ 0 15-01-2009 15:56
SVN wind river Mr.Macdonald C/C++ 3 13-01-2009 12:40
Wind River Help BenB Programming 3 02-01-2009 21:42
Open Wind River excel2474 Programming 12 31-12-2008 17:36


All times are GMT -5. The time now is 03:38.

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