View Single Post
  #8   Spotlight this post!  
Unread 23-07-2013, 16:29
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Programming Advice for Newer FRC Team?

There's a lot to say about all three languages.

Some people argue Java or Object-Oriented programming is better to learn. I disagree. I don't think anyone can truly learn programming by learning only one language/paradigm. A very wise man once said that the most important programming language you learn is your second. When you learn the first language, you learn to design software around the constructs, syntax, and programming practices of that language. When you learn your second (ESPECIALLY if it's vastly different language paradigm) you learn to apply the design skills much better and choose the best method of implementation for a given project, and it really opens your mind to other potential methods for writing software.

We've chosen LabVIEW for various reasons. We prefer the language and diagnostic tools, and feel that they outweigh the downsides that there are. Jim and I both work heavily with C and model-based programming (I do a TON of simulink now), so it all makes sense to us.

All three languages are used heavily in the 'real world'. While it might be true that LV is less commonly used for production software (it's used EXTENSIVELY for prototping, one-off test pieces, and research), Simulink and the similar autocoding languages are used heavily for embedded controls stuff.

Whatever you do, don't restrict your thinking to only one method of writing code. OO is not always the answer. Sometimes it is. Learning two dissimilar languages will teach that.



@Ilovepineapples, all of the defense work I've ever done was in C and Simulink (autocoded to C). We just didn't have the CPU resources to throw away on garbage collection, dynamic memory allocation, and interpreted code. On a related note, automotive safety standards specifically prohibit dynamic memory allocation, heaps, and reuse of memory for different items (aside from the main stack), so Java is ruled out entirely. I haven't read a military vehicle safety standard, though, maybe they do crazy things.
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack