Go to Post I think the "F" in FIRST really stands for "friendly." - Rick TYler [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
  #16   Spotlight this post!  
Unread 13-11-2011, 18:29
Jon236's Avatar
Jon236 Jon236 is offline
Registered User
AKA: Jon Mittelman
FRC #2648 (Infinite Loop)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2000
Location: Windsor, Maine
Posts: 741
Jon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond repute
Re: What programming Language To Use??

Folks,

Bear in mind here that the object of FIRST is not to produce software engineers; it is to inspire kids to get interested in STEM careers. If we can get them hooked with Labview or Java, that's all to the good. I think the key here is not to let the kids founder. The team needs to pick a programming tool that is well supported and that a mentor can help them with. FIRST does a great job producing tools in all 3 supported languages. Every team should have a mentor (either close or on-line) that can help them succeed.
__________________
Jon Mittelman

Senior Judge Advisor New England & Israel 2014-2015
Infinite Loop Mentor 2011-2015
TechnoTicks Mentor 2000-2011
Championship Chairman's Award 2009 Team236 TechnoTicks
Judge 2010-2015 Championships
Senior Judge Advisor New England District Championship 2014-2015
Judge Advisor Tel Aviv Regional 2007-2015
Judge Advisor Pine Tree Regional 2013
Maine Regional Planning Committee
New England District Planning Committee
Lead Inspector Microsoft Tel Aviv Regional 2006-2008
Judge & Lead Inspector GM/Technion Tel Aviv Regional 2006
Judge UTC Hartford Regional 2006
  #17   Spotlight this post!  
Unread 13-11-2011, 18:46
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,125
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: What programming Language To Use??

Quote:
Originally Posted by Ether View Post
Isn't the converse also true ? Had you learned SML first, you would have had the same issue when learning C, C++, Java ? So if you're going to have to learn both, does the order matter ?
Quote:
Originally Posted by Chris27 View Post
I'm still much more comfortable with Java (OOP) so I would say yes it does matter.
And you've spend the same amount of time learning/using SML as you did Java?


  #18   Spotlight this post!  
Unread 13-11-2011, 18:55
Chris27's Avatar
Chris27 Chris27 is offline
Registered User
AKA: Chris Freeman
FRC #1625 (Winnovation)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2004
Location: Mountain View
Posts: 196
Chris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant future
Re: What programming Language To Use??

Quote:
Originally Posted by Jon236 View Post
Folks,

Bear in mind here that the object of FIRST is not to produce software engineers; it is to inspire kids to get interested in STEM careers. If we can get them hooked with Labview or Java, that's all to the good. I think the key here is not to let the kids founder. The team needs to pick a programming tool that is well supported and that a mentor can help them with. FIRST does a great job producing tools in all 3 supported languages. Every team should have a mentor (either close or on-line) that can help them succeed.
FIRST is also an excellent opportunity to give high school students a head start in the stem fields. If a student is thinking about doing programming for a living and going into a CS or similar program when he/she graduates, then giving them an opportunity to start learning a standard programming language such as C++ or Java will enable them to hit the ground running when college comes around much more so then having them learn Labview.

Last edited by Chris27 : 13-11-2011 at 18:58.
  #19   Spotlight this post!  
Unread 13-11-2011, 18:57
Chris27's Avatar
Chris27 Chris27 is offline
Registered User
AKA: Chris Freeman
FRC #1625 (Winnovation)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2004
Location: Mountain View
Posts: 196
Chris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant future
Re: What programming Language To Use??

Quote:
Originally Posted by Ether View Post
And you've spend the same amount of time learning/using SML as you did Java?

No. But If I had spent my early years at college working with SML over a language such as Java, it would have made getting an internship really hard.
  #20   Spotlight this post!  
Unread 13-11-2011, 19:07
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,125
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: What programming Language To Use??

Quote:
Originally Posted by Chris27 View Post
If a student is thinking about doing programming for a living and going into a CS or similar program when he/she graduates, then giving them an opportunity to start learning a standard programming language such as C++ or Java will enable them to hit the ground running when college comes around much more so then having them learn Labview.
If that had been stipulated at the outset the dialog would have been a bit different I think.

  #21   Spotlight this post!  
Unread 13-11-2011, 19:12
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,125
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: What programming Language To Use??

Quote:
Originally Posted by Chris27 View Post
No.
I think that, rather than the order in which the languages were studied, would explain why you are still much more comfortable with Java (OOP).


Quote:
Originally Posted by Chris27 View Post
But If I had spent my early years at college working with SML over a language such as Java, it would have made getting an internship really hard.
Likely true, but not germane to the "order" question.

  #22   Spotlight this post!  
Unread 13-11-2011, 19:38
Chris27's Avatar
Chris27 Chris27 is offline
Registered User
AKA: Chris Freeman
FRC #1625 (Winnovation)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2004
Location: Mountain View
Posts: 196
Chris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant future
Re: What programming Language To Use??

Quote:
Originally Posted by Ether View Post
I think that, rather than the order in which the languages were studied, would explain why you are still much more comfortable with Java (OOP).
A large part of it is that OOP is what I use on a day to do basis. Also, the various routine algorithms and data structures I have learned through getting a CS degree has for the most part been through the lens of OOP and shapes how I understand them. To think about these concepts in another programming paradigm would take more effort.

Quote:
Likely true, but not germane to the "order" question.
Switching from one programming paradigm to another requires a period of "unlearning" things. Accomplishing a routine task in the new paradigm could very well make the old way you are use to doing it invalid or not optimal and it will take some effort to break the habit.
  #23   Spotlight this post!  
Unread 13-11-2011, 19:52
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,125
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: What programming Language To Use??

Quote:
Originally Posted by Chris27 View Post
A large part of it is that OOP is what I use on a day to do basis. Also, the various routine algorithms and data structures I have learned through getting a CS degree has for the most part been through the lens of OOP and shapes how I understand them. To think about these concepts in another programming paradigm would take more effort.

Switching from one programming paradigm to another requires a period of "unlearning" things. Accomplishing a routine task in the new paradigm could very well make the old way you are use to doing it invalid or not optimal and it will take some effort to break the habit.
Nothing I've posted here previously was intended to take issue with anything stated above. I think we are in agreement on those points.

Person "A" learns SML as a first language (for one year) and then studies C++ for three years.

Person "B" learns C++ as a first language for three years, then studies SML for one year.

I'd say order doesn't matter, or if it did, then it's arguable which Person is better off.



  #24   Spotlight this post!  
Unread 13-11-2011, 20:06
Chris27's Avatar
Chris27 Chris27 is offline
Registered User
AKA: Chris Freeman
FRC #1625 (Winnovation)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2004
Location: Mountain View
Posts: 196
Chris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant future
Re: What programming Language To Use??

Quote:
Originally Posted by Ether View Post
Nothing I've posted here previously was intended to take issue with anything stated above. I think we are in agreement on those points.

Person "A" learns SML as a first language (for one year) and then studies C++ for three years.

Person "B" learns C++ as a first language for three years, then studies SML for one year.

I'd say order doesn't matter, or if it did, then it's arguable which Person is better off.


If both person A and B are both first venturing into programming, they will not be able to learn a language in a year. Being able to code something in a language is much short of having a deep understanding of it. One year isn't a whole lot of time so yes, there probably won't be that great of a difference between person A and B. However, If say person A started with SML for 3 years and then continued with C++ for 3 years and person B did the converse, I guarantee you that if you posed the same programming problem to each person afterwards, they would approach the problem in very different ways.
  #25   Spotlight this post!  
Unread 13-11-2011, 20:26
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,125
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: What programming Language To Use??

Quote:
Originally Posted by Chris27 View Post
If both person A and B are both first venturing into programming, they will not be able to learn a language in a year.

Person C uses LabVIEW for FRC programming for three years, then goes to college and studies C++ for four years.

Person L uses C++ for FRC programming for three years, then goes to college and studies LabVIEW for four years.



  #26   Spotlight this post!  
Unread 13-11-2011, 21:10
Jon236's Avatar
Jon236 Jon236 is offline
Registered User
AKA: Jon Mittelman
FRC #2648 (Infinite Loop)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2000
Location: Windsor, Maine
Posts: 741
Jon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond repute
Re: What programming Language To Use??

To move the conversation away from the particular, think about programming languages as just that, languages. The universal language is, of course, mathematics. Each programming language is another way to express those relationships. Granted they are different, but I disagree that learning another language requires 'unlearning'. I think the power of learning additional languages is the capacity to get your mind around problems in different ways. Different problems require different tools. I would think a company would rather hire a multi-lingual programmer who can find the best solution for a given problem.

My son, a FIRSTer who is now an ME at Electric Boat, learned C for FIRST, Labview at WPI, then used an Arduino for his capstone project. When a certain problem required a unique approach, he was the only ME in his group with the requisite programming skills to handle the problem.

So look at learning a number of programming languages as building a toolkit for your future!
__________________
Jon Mittelman

Senior Judge Advisor New England & Israel 2014-2015
Infinite Loop Mentor 2011-2015
TechnoTicks Mentor 2000-2011
Championship Chairman's Award 2009 Team236 TechnoTicks
Judge 2010-2015 Championships
Senior Judge Advisor New England District Championship 2014-2015
Judge Advisor Tel Aviv Regional 2007-2015
Judge Advisor Pine Tree Regional 2013
Maine Regional Planning Committee
New England District Planning Committee
Lead Inspector Microsoft Tel Aviv Regional 2006-2008
Judge & Lead Inspector GM/Technion Tel Aviv Regional 2006
Judge UTC Hartford Regional 2006
  #27   Spotlight this post!  
Unread 13-11-2011, 21:26
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,113
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: What programming Language To Use??

Quote:
Originally Posted by Chris27 View Post
If both person A and B are both first venturing into programming, they will not be able to learn a language in a year.
Do you really think it takes that long to learn a programming language, Chris? That would explain a lot of why you think it's a bad idea to learn what you consider a "nonstandard" language.

Learning the fundamentals of any programming language (not counting things like BEFUNGE or Kipple) can be done in a few days, and it shouldn't take more than a month of appropriate exercise for someone to become productive. In my experience as a team mentor, learning enough LabVIEW to program an FRC robot takes less than two weeks for someone who wants to learn but has no previous programming experience. I've never watched anyone use C++ in the same situation, but I can't imagine it taking much longer.

The biggest thing I think you're missing is that learning two markedly different languages is a good thing. I agree with whoever it was who said that the most important programming language someone can learn is their second one.
  #28   Spotlight this post!  
Unread 13-11-2011, 23:38
Chris27's Avatar
Chris27 Chris27 is offline
Registered User
AKA: Chris Freeman
FRC #1625 (Winnovation)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2004
Location: Mountain View
Posts: 196
Chris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant future
Re: What programming Language To Use??

Quote:
Originally Posted by Alan Anderson View Post
Do you really think it takes that long to learn a programming language, Chris?
To master an entirely new language, I would say it typically requires a lot more then a year. When I mean "learn" a language, I'm not talking about just learning the syntax. I would say to really master a language you need to have a much deeper understanding of that e.g. the libraries and tools that exist for the language, knowing the various nuances and pitfalls/traps of the language. Knowing a lot about how the language is implemented, what is happening in the back end etc. For instance, I wouldn't say someone knows Java if they couldn't give an in depth explanation how the Java garbage collector is implemented.
  #29   Spotlight this post!  
Unread 13-11-2011, 23:43
Chris27's Avatar
Chris27 Chris27 is offline
Registered User
AKA: Chris Freeman
FRC #1625 (Winnovation)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2004
Location: Mountain View
Posts: 196
Chris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant futureChris27 has a brilliant future
Re: What programming Language To Use??

Quote:
Originally Posted by Ether View Post
Person C uses LabVIEW for FRC programming for three years, then goes to college and studies C++ for four years.

Person L uses C++ for FRC programming for three years, then goes to college and studies LabVIEW for four years.


Seriously? You believe both will graduate from college with the same set of qualifications/skill sets?
  #30   Spotlight this post!  
Unread 14-11-2011, 09:13
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,756
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: What programming Language To Use??

In Atlanta a few years ago, I said that the most important language a CS student would learn would be their second. Without belaboring the topic, here is my justification.

By the time I started college, I only knew one language, BASIC. I had rather extensive experience in computer math, solving sets of equations using various linear algebra approaches, plotting polynomials on a screen or printer; not CS, but CM. My first college course taught C, and while I sort of knew what pointers were, I saw no real value in them until I learned C. Wow. Then I thought I knew it all. Follow-on courses were in Pascal, FORTRAN, and assembly, and honestly weren't differentiated enough to displace C as the reference language in my head.

Then I had an AI course and we were given problems that would be near impossible in C. Fortunately, we were learning lisp as the course language, and it became apparent that computers were capable of being far more than procedural machines.

As others have said, any of the languages offered in FIRST are capable and offer good learning experience. The libraries are distributed in source form, and using similar terminology and implementation. This was done to allow easier comparisons and to allow students using different tools to hopefully communicate at the level of the problem rather than at the level of the tool, thus being exposed to more tools.

In all, I'm happy that FIRST now has multiple languages actively supported. I see teams being successful in all of them and transitioning to gain different experiences.

To the original poster -- there are no bad choices. Balance the opportunities with the risks, and invest as much time and energy as you can afford into this program.

Greg McKaskle

Greg McKaskle
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 01:04.

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