Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Programming Advice for Newer FRC Team? (http://www.chiefdelphi.com/forums/showthread.php?t=117781)

404'd 23-07-2013 16:14

Re: Programming Advice for Newer FRC Team?
 
Quote:

Originally Posted by Ilovepineapples (Post 1284083)
The one downside is that NI LabView tends to not be as powerful as C++/Java.

In terms of the direct function of the program, what can you do in C based languages or Java that you can't do in LabVIEW? I would say LabVIEW is just as "powerful" as any text language, but it takes some knowledge to know what to use LabVIEW for and how to do it in LabVIEW. In FRC, LabVIEW works well for programming for the robot, and can be simple or complicated depending on how you use it.

E Dawg 23-07-2013 16:17

Re: Programming Advice for Newer FRC Team?
 
We used LabView for programming in past years and have enjoyed it. This year we will be switching to C++. I find that LabView is good for creating robot code due to its intuitive nature concerning machinery, but a downside is longer compile times and its contrasting nature to other languages. In the end, though, it is your choice and you may want to ask the mentors what they think you should do, seeing as they all have prior experience.

apalrd 23-07-2013 16:29

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.

Ilovepineapples 23-07-2013 18:04

Re: Programming Advice for Newer FRC Team?
 
Quote:

Originally Posted by 404'd (Post 1284092)
In terms of the direct function of the program, what can you do in C based languages or Java that you can't do in LabVIEW? I would say LabVIEW is just as "powerful" as any text language, but it takes some knowledge to know what to use LabVIEW for and how to do it in LabVIEW. In FRC, LabVIEW works well for programming for the robot, and can be simple or complicated depending on how you use it.

You are correct. You can accomplish anything in LabView that you can accomplish in C++/Java but it is a completely different way of looking at it. When looking at LabView you almost have to look at it from an EE point of view rather than a CS point of view. Both are valid forms of programming that can do advanced tasks but LabView is wiring boxes to make it drive whereas C++/Java is writing words to make it drive.

For the record I much prefer LabView as a programming language overall but there are some applications I would rather write in C++/Java. For me LabView makes programming a little more creative and fun but that is just my 2 cents.


All times are GMT -5. The time now is 22:50.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi