|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: Programs for the new FRC platform
Quote:
All the returning students on the software team have become very familiar with C over the past few years and we already have a good curriculum developed to teach the new students C in the first semester. All of the software mentors have ~10 years of experience with C / C++ and we all use it at work so we are extremely familiar with designing and writing C / C++ programs. We also have a large software team (3 mentors and 10 students) and we typically break up into small teams to simultaneously work on different features. In some cases, this requires different teams to modify the same files and merge them together later. This is trivial with a text based language and SVN, but is impossible with labview's binary file format. The last reason is that we feel C / C++ is a more useful language for the students to learn than labview. C is an industry standard with compilers for hundreds of chips while labview is a propriety language supported by a single company. We'd rather not teach the students a language that locks them into a single supplier. Labview is typically only used for data acquisition and industrial automation while the uses for C / C++ are endless. Anyone going into a software development career will need to learn C / C++ or a similar language in college. We're giving the students a huge head start by teaching them the concepts and the language before they get there. |
|
#2
|
||||
|
||||
|
Re: Programs for the new FRC platform
Quote:
The temporary license we're being given to these tools this year is a dirty little secret that I don't see a lot of discussion about. It's another way that we're being short-changed with the new control system (in addition to no longer getting a new one each year). Consider the case in a few years where perhaps they switch to a new control system, and move away from National Instruments. If that happens, then at that point all the robot code that teams have written in Labview will no longer be maintainable unless those teams go off and buy their own Labview license. Maybe this isn't a big deal to most, but we do occasionally go modify the code on our old robots as we use them to test out ideas for a new season, etc. In short, vendor lock-in == bad IMO. |
|
#3
|
||||
|
||||
|
Re: Programs for the new FRC platform
I am coming at this from the point of view of a complete beginner programmer.(I have been programming for just about 3 weeks, i started with Liberty basic, and tried C++)
when i first downloaded NI's LabVIEW, it looks a bit confusing, but don't let this phase you. after watching about an hour of on-line Tuturals, I was programming. It was that simple! Our head programmer knows both LabVIEW and C++, but... he is a senior, and wont be with us next year, so we decided to go with LabVIEW because of how easy it really is. With C++ there is a much longer learning curve than LabVIEW, and with it only being 3 days Before Kickoff, i would reccomend LabVIEW if you haven't made a decision yet, or if you have alot of new team members who want to learn programming. **by no means am i an expert, and take what i write with a grain of salt, again I have only been programming for like 3 weeks, and I have yet to explore what either of the languages can really Do!** |
|
#4
|
|||
|
|||
|
Re: Programs for the new FRC platform
Wow. That was quite the opinion.
As I read it, I imagined NI developers sitting around petting white kitties named Mr. Bigglesworth as they write code and decide how mess with FRC teams. Until a few years ago, LV was not even licensed -- meaning that an exe was good until the OS or architecture disappeared (which has happened a few times as long as LV has been around). The license manager does restrict usage, but it also offers a solution for anyone caught in the situation mentioned. I'd encourage anyone needing a license to keep a robot alive to contact NI academic and explain the circumstances. Back to writing code. Here kitty kitty. Greg McKaskle |
|
#5
|
|||
|
|||
|
Re: Programs for the new FRC platform
The request was for opinions, and it has been interesting reading them. Most are very well stated. Working for NI, mine may not come as a suprise. Though keep in mind that most engineers at NI use both along with other engineering tools. I do have a few clarifications and counter opinions I'll add though.
Quote:
Quote:
On the other hand, programming computers is also incredibly common in engineering and science disciplines, and domain specific languages or modeling languages are very common, rivaling the use of C/C++ because they allow for more emphasis on the engineering task and less on the programming task. In the end, just as there isn't one ideal degree, there isn't one ideal programming language. Greg McKaskle |
|
#6
|
||||
|
||||
|
Re: Programs for the new FRC platform
Quote:
Interesting. I only partly agree with your view. We have a mentor (only one, and we are lucky to have him. Our team hasn't had any mentors for the last three years.) who is very familiar with c, so I'm sure my team and i will also be trying out c code as well. I agree with your viewpoint on the vendor lock in, however I'm using LabVIEW to learn the concepts. From my little experience with either, LabVIEW is easier to understand for me. Once i know the concept's I'm sure the knowledge will transfer over. Besides I'm not the only one from my team who will be working on this. Hopefully we can get the whole team into programming. also, it's good to have experience with both. Someone who has worked with multiple systems will be better equipped in the world to come that the person who was limited to one. I'm looking forward to working with LabVIEW and C. This doesn't just apply to programming. It could apply to something like computers. I have experience with DOS, Windows, Linux, and MacOSX. I think having experience with all of these will help me. |
|
#7
|
|||
|
|||
|
Re: Programs for the new FRC platform
I'd just like to offer one point which hasn't been brought up yet.
A few of the responses have mentioned that C/C++ would be a superior choice because "that is what you will learn in college," and LabVIEW would not be as good for retained knowledge because of licensing issues, lack of free compilers, and how platform-specific it is. These points are valid, but I would like to offer another, which favors LabVIEW: in many* CS or programming classes, flowcharts are used to teach the logic behind the programming, how different ideas work, etc, and then the syntax is taught separately; by using LabVIEW, you would be teaching yourself the logic behind the programming with immediately visible results at your fingertips. It is the combination of the theory and reality of programming and may actually be the superior tool for instruction in CS. That having been said, our team is still using C++ as of now: it's what our team is more familiar with, it's the way our minds work; I can't program visually. However, if we face difficulties or limitations with C++, the switch over would not be a hard choice to make. *I'd say most, but I haven't had exposure to very many. At the least, this is what I have heard, and it makes logical sense for at least lower CS classes. **I'm the only returning programming team member, but the new kid knows a bit of the syntax and our mentor knows quite a bit from his CS major. Our programming team is small, so teaching the one new kid the language shouldn't be hard. |
|
#8
|
||||
|
||||
|
Re: Programs for the new FRC platform
I think both languages are equally valuable to teach. Our team is going with C++ for the following reasons:
1. Our older programmers (myself included) are much more comfortable in C++. 2. In my mind, C++ demystifies the magic of code more than LabVIEW. Yes, LabVIEW is extremely useful in showing the flow of the code as a flowchart, but when you see the list of commands executing line-by-line, you get a more accurate feel of "what's going on", at least in my mind. 3. While development time may be slower and debugging may not be as simple, the Wind River workbench has an extremely good set of debugging tools. 4. C++ allows for more customization of what you plan on doing, at least as far as I'm aware. To be honest, I haven't done much work in LabVIEW so I can't speak for it at length. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| New FTC Platform | StarGazer | VEX | 186 | 02-05-2008 14:19 |
| Rules of Thumb for New posters and FRC Participants | Al Skierkiewicz | General Forum | 0 | 08-02-2008 23:33 |
| Spoiler: Could this be the new software for the FRC 2006? | Chris_Elston | Rumor Mill | 20 | 21-11-2005 14:14 |