View Single Post
  #9   Spotlight this post!  
Unread 21-05-2010, 00:20
Radical Pi Radical Pi is offline
Putting the Jumper in the Bumper
AKA: Ian Thompson
FRC #0639 (Code Red Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 655
Radical Pi has a spectacular aura aboutRadical Pi has a spectacular aura aboutRadical Pi has a spectacular aura about
Re: Starting programming...

If you're just getting started with C(++), I'd reccommend learning C first. I personally think it is much simpler than C++ in terms of language constructs (not as much when you get into actual implementation) and I personally think it's better in getting you to "think like a programmer" as other people have said in this thread. Last week I was helping a friend learn Objective-C and because of the way the APIs are written (this was for iPhone) you can't really do anything without jumping directly into the object system in the language. The parts he was really having trouble with were the ones that OO languages make more complex (pointers, typecasting, objects (as opposed to structs), etc.), and would have been much easier for me to explain in plain C.

On the topic of LabVIEW, again I feel like it is a "programmer mindset" thing. With the closest thing to LV experience being NXT-G (which for those of you who haven't used it is MUCH more procedural than real LV), I was able to pick up the classmate and mess with the dashboard within 2 days, the majority of that time being the rewrite of the robot side dashboard sender (C++). Again, Having that prior experience programming really helps in switching out languages.

Oh and no matter what language you are learning, books and tutorials can only go so far. Real understanding of the language comes from looking at examples and analyzing every single line (or block) of code in it, knowing exactly how it works and what is happening in that line. That's where the "programmer's mindset" comes from. Not knowing to type in this line here, but knowing why typing this line here does what it does.
__________________

"To have no errors would be life without meaning. No strugle, no joy"
"A network is only as strong as it's weakest linksys"