Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Programs for the new FRC platform (http://www.chiefdelphi.com/forums/showthread.php?t=70842)

McGurky 31-12-2008 12:29

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!**

Greg McKaskle 31-12-2008 20:10

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:

... merge ... is impossible with labview's binary file format.
The binary format of LV code is able to be diff'd and merge'd with the appropriate tools. I'm not exactly sure why those weren't included in the kit, but since they weren't, the point is valid. On the other hand, I've worked on large projects using LV and I haven't found myself using diff/merge very often. In large part it is because a VI file contains one function whereas in C++ it usually contains a class implementation or in C it will contain numerous functions. A code collision on unrelated C code in the same file is trivial to merge. A code collision within a single function regardless of the language requires much more thought and attention. In reality, a functional language like LV makes it easier than one with side-effects.

Quote:

... 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.
This may not be news, but computer science is about much more than learning C/C++. A computer science student will learn a new language or two each semester and some classes won't involve programming at all, but will focus on the mathematics of computing. At this point LV is pretty rare around CS departments, but functional languages are a staple, and domain specific languages, which is how I typically describe LV, are becoming more common.

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

Greg McKaskle 31-12-2008 21:48

Re: Programs for the new FRC platform
 
Quote:

Originally Posted by Dave Flowerday (Post 788736)
...

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

keen101 01-01-2009 00:31

Re: Programs for the new FRC platform
 
Quote:

Originally Posted by Mike Soukup (Post 788732)
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.



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.

ComradeNikolai 01-01-2009 10:56

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.

slavik262 01-01-2009 14:29

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.


All times are GMT -5. The time now is 19:28.

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