Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Calling Out All Programmers (http://www.chiefdelphi.com/forums/showthread.php?t=81415)

Igor1201 30-01-2010 07:01

Re: Calling Out All Programmers
 
We'll use LabVIEW but, particullary, I would prefer Java.
However, LabVIEW have all the "visual" things, like the graphs and real-time changings.
P.S.: I hate that blocks.

Tanner 30-01-2010 08:21

Re: Calling Out All Programmers
 
The only reason I use LabVIEW is because of it's debugging capabilities. As far as I know, C++/Java still use a terminal window (then again I haven't been reading up on those). Being able to see anything I want to from my program, in real time, with no extra work is just amazing.

'Course the downer is that it doesn't work very well with VCS and if you're a perfectionist (like me) all the little wires must be organized and straight.

-Tanner

Alan Anderson 30-01-2010 08:57

Re: Calling Out All Programmers
 
Quote:

Originally Posted by Tanner (Post 909745)
'Course the downer is that [LabVIEW] doesn't work very well with VCS and if you're a perfectionist (like me) all the little wires must be organized and straight.

LabVIEW can work well with version control systems. You just have to find an adequate set of instructions.

There's a "broom" tool that straightens up block diagrams. It does a remarkably good job of organizing things.

Greg McKaskle 30-01-2010 09:42

Re: Calling Out All Programmers
 
Spoiler Alert: LV editing tips follow

For the perfectionists out there, I learned to use LV before the auto-routing and the auto tool. I still prefer it that way.

If the little wire bends bother you, try turning off the auto-routing. In that mode wiring will only produce a simple L for each click. There are two orientations to the L depending on whether you first moved horizontal or vertical. If you want to swap for the other, hit the space bar while wiring. Also, you can tack a wire wherever you like to cause it to go through that point. It takes a bit more thought, but but leaves you in control, and I guess I like it that way -- though I do like the cleanup tool as well.

A similar tradeoff exists for the auto tool. Using the auto tool, LV will swap out the wiring, movement, and text editing tool depending on mouse position, clicks, and whether the object is selected. If you turn the auto tool off using the preferences, or using shift-right click, you can hit the space bar (provided you aren't typing text), or tap the tab key to cycle through the common tools. You can also shift-right click to select the uncommon tools. Again, this takes a bit more thought, but leaves you in control.

There are also plenty of key hints you can give LV even if you leave the auto stuff turned on. I believe that holding Ctl and/or Shift key swaps to the alternate auto tool, and hitting the A key while wiring turns auto routing on/off. You may want to check the quick reference card or manual for others.

Greg McKaskle

Chath Maral 30-01-2010 11:18

Re: Calling Out All Programmers
 
We were going to use C++ this year, but switched to LabView because it is easier to explain to the freshmen who have no experience and we need to pass along our knowledge in order to keep the team alive.
So far we have not had many problems *knock on wood* and it's running smoothly.

Sauce 30-01-2010 11:38

Re: Calling Out All Programmers
 
We used labview last year so we're using it again this year.

StevenB 30-01-2010 11:47

Re: Calling Out All Programmers
 
Quote:

Originally Posted by davidthefat (Post 909215)
I seem to have to use Java... I wanted to use C++ but my mentor is like "The C++ Libraries Are Too Messy" or something like that... And that the Java code wont be any slower than the C++ because of FPGAs or something

From talking with several of the people who wrote the C++ and Java libraries (WPILib and WPILibJ), the Java libraries are basically wrappers around the C++ code. If you look through the documentation, you'll see that most things are exactly identical, with the exception of capitalization changes to match the Java naming convention.

Java does run slower than C++ on the CRIO. It's running the Squawk JVM, which is optimized for small devices, and doesn't include all the speed improvements that normal desktop Java provides. That said, the speed difference is not going to matter, unless you're doing something really complex and esoteric. The FPGA and C/C++ libraries do nearly all of the serious computational work, from handling encoder pulses to doing image processing.

Personally, I'm a longtime C/C++ programmer and I'm comfortable with LabVIEW, but I've been converted to Java. The whole software stack is open-source, and installing NetBeans with the FRC extensions on my Linux machine was a breeze. Downloading was simple and straightforward; we spent hours last year just trying to get the CRIO to connect to WRW.

dag0620 30-01-2010 16:02

Re: Calling Out All Programmers
 
1071 is going on Labview. The descion to this was mainly based on that out of all the programming students we have, only one is a veteran. He is only in his 2nd year and used LabView. So it was decided, we would use labview. I am pretty happy with it so far as a rookie, quickly picking up stuff. We are thinking about switching to Java next year, but that is pretty far up in the air.

TheWhiteReaper 30-01-2010 21:22

Re: Calling Out All Programmers
 
1723 is using LabView again because our head programer Josh has been using it for 4 years and has been teaching every one on the programing staff all it's ins and outs. Also I find lab view easier to debug than C++ or Jave because of the "highlight data flow" and "show/highlight location of error" functions.:yikes:

Al3+ 30-01-2010 22:34

Re: Calling Out All Programmers
 
840 used LabView last year, and switched to C++ this year.

The one veteran programmer on our team last year opted for LabView because it seemed easier for newbies to pick up and use. As it turns out, most of the bot was coded by myself and another newbie. We went from no one having any experience with it, to working code by ship date (although nothing advanced), so I guess it worked out.

This year, I pushed for C++ after seeing how simple and beautiful WPILib is (in my opinion) and because I have worked with C++ before. I do foresee some problems passing it on to new members without any coding experience, but at least there's another year for that.

TheWhiteReaper 30-01-2010 23:14

Re: Calling Out All Programmers
 
Quote:

Originally Posted by Al3+ (Post 910303)
The one veteran programmer on our team last year opted for LabView because it seemed easier for newbies to pick up and use. As it turns out, most of the bot was coded by myself and another newbie. We went from no one having any experience with it, to working code by ship date (although nothing advanced), so I guess it worked out.

This is why we're using LabView. I've been working with it for less than a week and I'm starting to code our robot already.

daltore 30-01-2010 23:45

Re: Calling Out All Programmers
 
We're using LabView mainly because our teacher sponsor has buddied up to LabView people. Most of our programmers wanted to use C++, but the LabView is working, and I'm kind of getting used to it.

hyperdude 31-01-2010 01:07

Re: Calling Out All Programmers
 
At this point I'm not 100% sure which route we're taking. The team consensus is that we're going to program in LabVIEW, but the junior responsible for setting up our electronics (and ostensibly for programming) has been stubborn about using C++: solely, it seems, because he knows more about C++ than LabVIEW.

Until the middle of this month I was absolutely confused by programming in LabVIEW. Then I watched the NI tutorials and I got it right away (more or less because I LOVED programming in RoboPRO in Principles of Engineering). This kid, though.... we just don't know.

All right, I'll stop rambling.

Doc Wu 31-01-2010 10:05

Re: Calling Out All Programmers
 
Isn't that kind of like asking PC, Mac, or Linux?

Whatever you choose is what's best for you.

davidthefat 31-01-2010 11:16

Re: Calling Out All Programmers
 
Quote:

Originally Posted by StevenB (Post 909841)
From talking with several of the people who wrote the C++ and Java libraries (WPILib and WPILibJ), the Java libraries are basically wrappers around the C++ code. If you look through the documentation, you'll see that most things are exactly identical, with the exception of capitalization changes to match the Java naming convention.

Java does run slower than C++ on the CRIO. It's running the Squawk JVM, which is optimized for small devices, and doesn't include all the speed improvements that normal desktop Java provides. That said, the speed difference is not going to matter, unless you're doing something really complex and esoteric. The FPGA and C/C++ libraries do nearly all of the serious computational work, from handling encoder pulses to doing image processing.

Personally, I'm a longtime C/C++ programmer and I'm comfortable with LabVIEW, but I've been converted to Java. The whole software stack is open-source, and installing NetBeans with the FRC extensions on my Linux machine was a breeze. Downloading was simple and straightforward; we spent hours last year just trying to get the CRIO to connect to WRW.

funny thing, my mentor and I spend like 3 hours trying to find the demo code for the java... We were looking all in the wrong places LOL


All times are GMT -5. The time now is 07:09.

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