Go to Post Each poster can bring respect to the topic, whether agreeing with it or not. - JaneYoung [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 13-11-2011, 17:27
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,077
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
I found learning a functional programming language (SML) a completely bizarre experience ... I had to unlearn a lot of the different strategies and concepts I had picked up using C, C++, and Java to effectively use this new tool.
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 ?


  #2   Spotlight this post!  
Unread 13-11-2011, 18:03
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
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 ?

I'm still much more comfortable with Java (OOP) so I would say yes it does matter. Also, being skilled in using Java holds a lot more weight then an obscure language such as SML. Not being comfortable with C, C++, or Java will make scoring an internship at a software company much harder. In the current job climate, graduating from a CS or Software Engineering program without any industry experience is not going to make finding a job easy. As an interviewer, a candidate without any industry experience would make me uneasy. I'd say that being comfortable with an OOP language is much more of a necessity then a functional language although learning a functional language does help expand on a lot of CS concepts.
  #3   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
  #4   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.
  #5   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,077
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.

  #6   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,077
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?


  #7   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.
  #8   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,077
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.

  #9   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.
  #10   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,077
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.



  #11   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.
  #12   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,077
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.



  #13   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
  #14   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?
  #15   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,751
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 23:32.

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