Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Which programming language does your team use? (http://www.chiefdelphi.com/forums/showthread.php?t=114835)

gixxy 10-03-2013 19:57

Which programming language does your team use?
 
I would like collect some data on which teams use which programming language. Naturally I expect LabView to be on top, however it would be nice to have some kind of idea how many teams use the other languages available.

Yipyapper 10-03-2013 20:10

Re: Which programming language does your team use?
 
Coded in C++ for the first two years I was on the team, just switched to Java this year. I personally love how much cleaner the IDE we are using is (Netbeans) compared to the older one (WindRiver); perhaps it's the aesthetics.

Well, not that Netbeans is all flashy, but for some reason, it just looks... appealing. Colours, maybe? Maybe I'm just weird?

Either way, we use Java on the Netbeans IDE now.

TheSoftwareGuy 10-03-2013 20:23

Re: Which programming language does your team use?
 
C++

LabView babies you too much, and also because I will be looking for a career in the software development field.

AlexBrinister 10-03-2013 20:41

Re: Which programming language does your team use?
 
Our team uses C++. However, with the new Command-based robot thing, we might as well be coding in Java. We (unfortunately) used Wind River for the past two years but next year, we're probably switching to Vim and a terminal on Linux :D.

Alex Brinister

apalrd 10-03-2013 20:44

Re: Which programming language does your team use?
 
Quote:

Originally Posted by TheSoftwareGuy (Post 1246198)
LabView babies you too much, and also because I will be looking for a career in the software development field.

I totally disagree.

I work professionally in C (no ++, just C) and we use LabVIEW for our FRC code because of the fantastic development tools.

The biggest disadvantage is library code inefficiency in LabVIEW FRC, but we fixed most of that this year.

LabVIEW is also heavily used in test and industrial automation, especially where complicated software is needed for a one-of-a-kind unit. I know a guy who used to professionally work with LV FPGA to evaluate and test high-speed SPI IMUs and ASICs.

AlexBrinister 10-03-2013 20:49

Re: Which programming language does your team use?
 
I think LabVIEW is just another way of looking at programming. The only thing I don't like about it is the clutter that one can accumulate. It's way too messy.

Alex Brinister

Yipyapper 10-03-2013 20:50

Re: Which programming language does your team use?
 
Quote:

Originally Posted by apalrd (Post 1246209)
I totally disagree.

I work professionally in C (no ++, just C) and we use LabVIEW for our FRC code because of the fantastic development tools.

The biggest disadvantage is library code inefficiency in LabVIEW FRC, but we fixed most of that this year.

LabVIEW is also heavily used in test and industrial automation, especially where complicated software is needed for a one-of-a-kind unit. I know a guy who used to professionally work with LV FPGA to evaluate and test high-speed SPI IMUs and ASICs.

We used LabView in recent years for the driver station visuals so we could put in crosshairs and make things look a lot smoother; we didn't use it for the actual robot code, though.

apalrd 10-03-2013 20:51

Re: Which programming language does your team use?
 
It's only messy if you write it messy.


Like any other language, you have to divide it up into multiple files/functions and design the core architecture well for it to be neat.


You can also use the Clean Up VI tool to auto-organize the block diagram to make it neater. In general, if the VI dosen't clean up well with the clean tool, it's too complicated.

Kusha 10-03-2013 20:57

Re: Which programming language does your team use?
 
We program in java because of AP Computer Science being taught in java. Students come in with a general understanding of the language. We have comp sci 1-4 at Pearce. I'm currently in computer science 4, where we get to do independent study. One of my independent projects was actually programming the robot. They compliment each other quite nicely. It look 2 years of convincing to get the team to switch from Labview ;)

kgzak 10-03-2013 21:04

Re: Which programming language does your team use?
 
I program in C++ for computer apps/other micro controllers but for FRC I prefer Labview. The tools supplied are very nice and make debugging quicker as you can look at all the inputs live.

connor.worley 10-03-2013 21:06

Re: Which programming language does your team use?
 
C++. We know how to write it and it has the fastest build+deploy times.

F22Rapture 10-03-2013 21:29

Re: Which programming language does your team use?
 
Quote:

Originally Posted by apalrd (Post 1246209)
LabVIEW is also heavily used in test and industrial automation, especially where complicated software is needed for a one-of-a-kind unit. I know a guy who used to professionally work with LV FPGA to evaluate and test high-speed SPI IMUs and ASICs.

SpaceX uses LabVIEW extensively:

Quote:

The Ground Software team is about 9 people. We primarily code in LabVIEW. We develop the GUIs used in Mission and Launch control, for engineers and operators to monitor vehicle telemetry and command the rocket, spacecraft, and pad support equipment. We are pushing high bandwidth data around a highly distributed system and implementing complex user interfaces with strict requirements to ensure operators can control and evaluate spacecraft in a timely manner.

Our team uses Java.

Jbobrab 10-03-2013 23:06

Re: Which programming language does your team use?
 
Java for everything: Robot and Scouting Programs.
However, for merging scouting data, someone decided to show off some C# knowledge. And don't get me started on my friends mini-bot that he made for fun, and coded in C++

JM033 10-03-2013 23:14

Re: Which programming language does your team use?
 
We use TI-84 basic to program our robot, it's super effective and we can do it almost anywhere..

Kusha 10-03-2013 23:27

Re: Which programming language does your team use?
 
Quote:

Originally Posted by JM033 (Post 1246300)
We use TI-84 basic to program our robot, it's super effective and we can do it almost anywhere..

Seems legit.

z_beeblebrox 10-03-2013 23:27

Re: Which programming language does your team use?
 
Quote:

Originally Posted by JM033 (Post 1246300)
We use TI-84 basic to program our robot, it's super effective and we can do it almost anywhere..

TI-89 basic is far better! One can actually type in code rather than selecting commands from menus.

Anyway, we switched from LabVIEW to Java and love it.

JediMasterSaaga 10-03-2013 23:56

Re: Which programming language does your team use?
 
Does anyone use Eclipse to code in java? And if so, how is it better/different from netbeans?

splatter 11-03-2013 00:07

Re: Which programming language does your team use?
 
We Write our main robot code in C and do our Dash Board with Lab View

Yipyapper 11-03-2013 00:18

Re: Which programming language does your team use?
 
Quote:

Originally Posted by JediMasterSaaga (Post 1246314)
Does anyone use Eclipse to code in java? And if so, how is it better/different from netbeans?

I use it for app development (still ironing out the details, only been at learning for a month or so), but we use Netbeans for our robot. Since I don't need to get into too many details so far for either one, the only thing I find is that Eclipse has a little bit more of a sleeker feel while Netbeans seems to have a bit more of an organized, structured feel when looking through the classes, commands and subsystems.

I suppose for me it's aesthetics that are pretty similar, but since I don't use both for robots, I'd take my statement with a grain of salt.

iyermihir 11-03-2013 00:53

Re: Which programming language does your team use?
 
Quote:

Originally Posted by JediMasterSaaga (Post 1246314)
Does anyone use Eclipse to code in java? And if so, how is it better/different from netbeans?

We use Eclipse. I am not one of the programmers, but I think that they use it because most of them already have it and they have a repository setup with it.

-Mihir Iyer

cgmv123 11-03-2013 11:41

Re: Which programming language does your team use?
 
Java. We all know it and it's simple and clean.

Tom Line 11-03-2013 12:00

Re: Which programming language does your team use?
 
Quote:

Originally Posted by apalrd (Post 1246218)
It's only messy if you write it messy.


Like any other language, you have to divide it up into multiple files/functions and design the core architecture well for it to be neat.


You can also use the Clean Up VI tool to auto-organize the block diagram to make it neater. In general, if the VI dosen't clean up well with the clean tool, it's too complicated.

Bingo.

If I jumped into C++, ignored classes, subroutines, and just tried to write everything out line-by-line, it would be ugly.

Just because you don't understand or haven't been taught how to write clean LabView code doesn't mean it isn't clean.

One basic rule: If your code gets bigger than one or two screen-widths, you're getting too complicated and not splitting it up into Sub-VI's efficiently.

There's a whole host of other rules, but being that this is a Visual language, if you can't tell from a glance what it's doing, you're probably doing it wrong.

Joe Ross 11-03-2013 12:12

Re: Which programming language does your team use?
 
Teams and CSA have been entering software data in the NI Parkway system. As of right now, there are 414 teams that have entered data. 42.5% LabVIEW, 37.4% Java, and 20% C++. See http://www.niparkway.com/frcts/reports

You can enter your data by going to http://niparkway.com, click on help out, choose an event that you are competing at, and then choosing your team.


330 is using Java for the robot, and LabVIEW for the dashboard / vision processing.

JohnFogarty 11-03-2013 12:32

Re: Which programming language does your team use?
 
I recommend Java as the language to start with in FRC not only because it is the mandated language for the College Board AP Computer Science Class, but most first semester Algorithmic Design courses at major universities start students off with Java.

nightpool 11-03-2013 14:01

Re: Which programming language does your team use?
 
Quote:

Originally Posted by apalrd (Post 1246218)
It's only messy if you write it messy.


Like any other language, you have to divide it up into multiple files/functions and design the core architecture well for it to be neat.


You can also use the Clean Up VI tool to auto-organize the block diagram to make it neater. In general, if the VI dosen't clean up well with the clean tool, it's too complicated.

This. A lot of teams start out in labview, but don't learn any good practices or put any thought into organization. Then they get bigger and start coding more advanced features, but still have the same coding practices. It just ends up a mess.

That was my team last year, big and complicated code with no thought to organization. We ended up moving to c++ for other reasons, but some of it was making a clean break; allowing our programming team to break out of their bad habits and start thinking about organization.

chris.boyle 11-03-2013 14:21

Re: Which programming language does your team use?
 
1 Attachment(s)
We are using LABView. But we are also using library's and sub-directories to maintain organization. We currently have a library for each 'component' of the robot stored in its own sub-directory.

Chassis
Shooter
Climbing
Hanging
Intake
User Interface
File IO
Test

Each library is organized in the same manner:
<Library>Open.vi - called from Begin.vi
<Library>Close.vi - called from Finish.vi
<Library>Disable.vi - called from Disable.vi
<Library>ControlLoop.vi - called from Periodic Tasks.vi

Then there are <Library>"specific".vi's for library specific actions.

In addition, we are using the "Conditional Disable Symbol" to allow us to selectively include/exclude portions of the code depending on what we are looking to do. For example: our practice bot does not have any physical Intake or Hanging components, so they are disabled. No code related to the Intake or Hanging will execute and no errors are generated because the physical devices are not present.

And the code can be as clean as you want it to be. See attached screen shot.

AlexBrinister 11-03-2013 23:32

Re: Which programming language does your team use?
 
Quote:

Originally Posted by Tom Line (Post 1246472)
Bingo.

If I jumped into C++, ignored classes, subroutines, and just trie to write everything out line-by-line, it would be ugly.

Just because you don't understand or haven't been taught how to write clean LabView code doesn't mean it isn't clean.

One basic rule: If your code gets bigger than one or two screen-widths, you're getting too complicated and not splitting it up into Sub-VI's efficiently.

There's a whole host of other rules, but being that this is a Visual language, if you can't tell from a glance what it's doing, you're probably doing it wrong.

The code I saw was incredibly complicated due to it being for some piece of random hardware. It was pretty messy. But you are correct, it does depend on the programmer and his/her practices. Our code is definitely a mess because nobody bothers to take the time to write it cleanly or clean it up after build season. Splitting projects into Sub-VIs (much like splitting a C++ project into different source and header files) would make things much neater. I think LabVIEW would be a nice thing to know, but I don't see myself using it for something as relatively simple as the robot code.

Alex Brinister

Rangel 11-03-2013 23:59

Re: Which programming language does your team use?
 
On team 842 we used to use Labview for our FRC robot but this year we switched to Java. For our autonomous underwater robot though, we use C# with Visual Studio.

JohnFogarty 12-03-2013 00:01

C# >= Java

catacon 12-03-2013 00:11

Re: Which programming language does your team use?
 
We have used LabView since 2009, but we switched to C++ this year since our lead programmer is more proficient in C++. All of our vision code is also written in C++. #cppforlife

Quote:

Originally Posted by John_1102 (Post 1246933)
C# >= Java

Lol C#. System.IO.FRC.Robot.Controls.NI.CRIO.Motors.Talon. Commands.Speed.CIM.SetPWM()

BigJ 12-03-2013 00:43

Re: Which programming language does your team use?
 
1675 was:

C: 2005-2008
C++: 2009-2011
Java: 2012-present

I enjoy the fast set-up time for an FRC java environment, plus the kids use Java in AP.

JefferMC 12-03-2013 10:36

Re: Which programming language does your team use?
 
Java and C++ are similar enough to make transition both easy and problematic.

The worst issue I see for a Java programmer using C++ is knowing how/when to use pointers and pointer syntax, but my students coming from Java classes in high school do quite well with the C++ environment.

MamaSpoldi 12-03-2013 10:39

Re: Which programming language does your team use?
 
Team 230 uses C++ and we have for the last 5 years with the cRIO... we used C before that. We basically use C++ because it is syntactically very similar to Java which many of the students are exposed to in programming classes at school. But we go the extra step to C++ because it is somewhat better supported (especially in the earlier years of the cRIO) and our programming mentor (me :D) is more familiar with C++. This makes it more feasible for the mentor to help the students solve their issues instead of scratching their heads.

Quote:

Originally Posted by catacon (Post 1246936)
Lol C#. System.IO.FRC.Robot.Controls.NI.CRIO.Motors.Talon. Commands.Speed.CIM.SetPWM()

^ Really... is that really how the C# code would look??? LOL

apalrd 12-03-2013 10:43

Re: Which programming language does your team use?
 
For the benefit of LV discussion in the thread, our 2012 code directory had >200 files, mostly .vi, .ctl, and .bee

Our 2013 code is a bit slimmer at only ~170 files, with a similar mix. This includes BuzzLib, BeeScript, and a total rewrite of the WPIlib (although the new library is only ~14 files).

That's about a file per C function, struct, or enum, because that's exactly what it is. If we wrote code in C, each of the ~10 organizational folders would likely be a single code/header file pair (although each auton would get its own file).

We tend to use a lot of structures and enums, since we only pass data through VI connectors (no globals, no accessor/storage VIs).

Aside from FRC robot code, I prefer clean C code.

catacon 12-03-2013 12:48

Re: Which programming language does your team use?
 
Quote:

Originally Posted by MamaSpoldi (Post 1247085)
^ Really... is that really how the C# code would look??? LOL

Heh probably. C# has classes and subclasses for everything.

BigJ 12-03-2013 12:55

Re: Which programming language does your team use?
 
Quote:

Originally Posted by catacon (Post 1247148)
Heh probably. C# has classes and subclasses for everything.

And everything is capitalized, even method names :( Otherwise, C# and I are cool.

Robby Unruh 12-03-2013 13:11

Re: Which programming language does your team use?
 
Quote:

Originally Posted by BigJ (Post 1247151)
And everything is capitalized, even method names :( Otherwise, C# and I are cool.

Don't get me too excited for C#/.NET support. I'd force our programming team to switch right away. ;)

Code:

using edu.wpi.first.wpilibcsharp.SimpleRobot;

namespace edu.wpi.first.wpilibcsharp.templates
{
    public class CSharpRobot : SimpleRobot
    {
        // no guts no glory
    }
}

We use Java, and it looks like a majority of teams do too. Cool, we always thought we were a minority at competitions!

mlbernardoni 12-03-2013 15:51

Re: Which programming language does your team use?
 
Historically Team 2704 used Labview. Going into the 2012-13 season, the team decided that for the 2012-13 season, they would program the robot in Labview, but a few students would pilot C++.

At any given time, the team has limited FRC robots (usually 0 or 1) to train programmers. Earlier, the team had developed a Labview training program using Mindstorms NXT robots. It was decided to try this route with C++ also.

The team put together a training curriculum using: Mindstorms NXT robots. The training curriculum was hugely successful. All training on the NXT was directly applicable to FRC programming, and the 2012-13 robot was ultimately programmed with C++.

The robot is much more responsive with C++ (we did program with both C++ and Labview).

We have shared the curriculum on www.firstplusplus.com for those looking to learn C++ for FRC. (Note: this is the first iteration of the curriculum. It is still being developed.)

Please check out www.firstplusplus.com and provide feedback.

eddie12390 12-03-2013 15:59

Re: Which programming language does your team use?
 
Quote:

Originally Posted by Robby Unruh (Post 1247159)
We use Java, and it looks like a majority of teams do too. Cool, we always thought we were a minority at competitions!

I had been under the impression that less teams were using Java. (Just based on what I had seen at competitions.) It's hard to say either way though as either pool would be biased because not every team goes to the Pittsburgh Regional and not FRC programmer is a member of Chief Delphi.

Zuelu562 12-03-2013 16:03

Re: Which programming language does your team use?
 
Both of my teams over the years used C++; 562 used it because most of our senior programmers knew it. 3623 has used it because our mentors (myself included) are accustomed to C++.

roboracer 12-03-2013 22:46

Re: Which programming language does your team use?
 
We used to use NI Labview, since it is user-friendly and easy, but this year, we have transitioned to Java.

connor.worley 12-03-2013 22:57

Re: Which programming language does your team use?
 
Is LabVIEW source control possible?

kenavt 12-03-2013 23:44

Re: Which programming language does your team use?
 
Quote:

Originally Posted by connor.worley (Post 1247404)
Is LabVIEW source control possible?

Great question. We're planning to open source a GitHub repository later this season in LabVIEW (so you'll be able to see commit history and branches and such, from Week One of build season to our last official event) as an answer. Currently, if we do all of our merges manually, everything generally works... but this requires a lot of man-hours.

Joe Ross 12-03-2013 23:53

Re: Which programming language does your team use?
 
Quote:

Originally Posted by connor.worley (Post 1247404)
Is LabVIEW source control possible?

yes

apalrd 13-03-2013 09:42

Re: Which programming language does your team use?
 
Quote:

Originally Posted by mlbernardoni (Post 1247227)
The robot is much more responsive with C++ (we did program with both C++ and Labview).

Please clarify.

This makes no sense. A choice of programming language itself has no effect on the resulting operation of an equivalent program. If the program in each language was not equivalent, then that is your problem, not the language itself.

mlbernardoni 17-03-2013 15:24

Re: Which programming language does your team use?
 
Labview vs C++ responsiveness

Team 2704 has historically used Labview. This year we programmed both Labview and C++. We found C++ much more responsive.

To clarify, we started this year with a simple drive train (we always build the drive train first). It is a 4 wheel design, front wheel drive, omni's in the back. We did a very simple program in Labview, tank drive, 1 joystick on a Game Pad to one drive wheel, the other joystick on the Game Pad to the second drive wheel.

It acted just as we historically expected from our years of using Labview.

We duplicated the simple program in C++ (1 joystick to 1 powered wheel; 2nd joystick to 2nd powered wheel). There was a night and day difference. Like moving up to a Ferrari. The drive team never realized the lag they had gotten use to with Labview. We will have a hard time getting the drive team to go back to Labview.

I don't know what overhead Labview puts on the program. But every student who drives the robot will tell you that there is a big difference, and it was obvious from watching the robot drive.

Same robot, same CRIO, same communications, official 2013 versions of labview and windriver, both very simple programs (1 joystick to 1 motor etc.). The only way to put it, moving the joysick to motor movement on the robot, c++ is much more responsive.

connor.worley 17-03-2013 15:37

Re: Which programming language does your team use?
 
Quote:

Originally Posted by mlbernardoni (Post 1249129)
Labview vs C++ responsiveness

Team 2704 has historically used Labview. This year we programmed both Labview and C++. We found C++ much more responsive.

To clarify, we started this year with a simple drive train (we always build the drive train first). It is a 4 wheel design, front wheel drive, omni's in the back. We did a very simple program in Labview, tank drive, 1 joystick on a Game Pad to one drive wheel, the other joystick on the Game Pad to the second drive wheel.

It acted just as we historically expected from our years of using Labview.

We duplicated the simple program in C++ (1 joystick to 1 powered wheel; 2nd joystick to 2nd powered wheel). There was a night and day difference. Like moving up to a Ferrari. The drive team never realized the lag they had gotten use to with Labview. We will have a hard time getting the drive team to go back to Labview.

I don't know what overhead Labview puts on the program. But every student who drives the robot will tell you that there is a big difference, and it was obvious from watching the robot drive.

Same robot, same CRIO, same communications, official 2013 versions of labview and windriver, both very simple programs (1 joystick to 1 motor etc.). The only way to put it, moving the joysick to motor movement on the robot, c++ is much more responsive.

This seems very unlikely. Are you using the correct speed controller classes in LabVIEW?

apalrd 17-03-2013 15:39

Re: Which programming language does your team use?
 
This still makes no sense. I have never seen the lag you describe. Are you running control tasks too slowly or running up on 100% CPU usage?

Please quantitatively describe the lag and root-cause it before blaming it all on the programming language. The language itself is not a cause for lag, many other factors such as code execution speed and CPU load can result in lag but those are not caused by the programming language.

You can measure robot CPU load in LabVIEW using the RT Get CPU Loads block. I suspect you are running at or near 100% and missing tasks resulting in lag. I am not sure how to measure CPU loads in C++ but I suspect it is possible.

Alan Anderson 17-03-2013 15:47

Re: Which programming language does your team use?
 
Quote:

Originally Posted by mlbernardoni (Post 1249129)
I don't know what overhead Labview puts on the program. But every student who drives the robot will tell you that there is a big difference, and it was obvious from watching the robot drive.

Same robot, same CRIO, same communications, official 2013 versions of labview and windriver, both very simple programs (1 joystick to 1 motor etc.). The only way to put it, moving the joysick to motor movement on the robot, c++ is much more responsive.

Having seen LabVIEW used for very precise control by many teams over many years, I'm not convinced that your experience indicates anything about LabVIEW in general. If you can post your simple programs, I'd like to see if you've done anything that might be causing the LabVIEW one to misbehave. (For example, there could be some simple error in your code which results in a cascade of diagnostic messages to the Driver Station, and those messages are quite capable of interfering with timely communication and control.)

mlbernardoni 17-03-2013 16:10

Re: Which programming language does your team use?
 
That is the point, the programs were very simple and as close to identical as we could possibly program using Labview and C++ FRC required libraries.

We use Victors, all classes in the labview program are based upon the victor motor control block and all classes in C++ are based on the Victor base class in the WPI C++ library. (The victors on the robot go all the way from Red to Green, full power range with each program.)

The CRIO speed is what is set in the WPI base classes. We did not program for that with either C++ or Labview. (As I said, very simple programs using the foundations supplied by FRC and WPI.)

We used the same iterations per second in our C++ code as Labview uses.

Labview was completely compiled and downloaded to the CRIO, no extra communications. And we did not see any errors while running these simple programs.

We did not measure the CPU load, but I find it hard to believe the CPU was pegged with such a simple program.

But I agree with your objection, it comes down to the compiled code on the CPU. I do not know what overhead Labview adds (or for that mater the WPI library), but it is very noticeable on our robot.

We had 2 very very simple programs using the FRC required foundation for C++ and Labview.

As for teams not noticing any lag. Neither did we for the past 5 years. We are not saying that there is any error in Labview. We have successfully used Labview for years. And I will say we have had very complex programs that functioned very well.

Greg McKaskle 17-03-2013 19:05

Re: Which programming language does your team use?
 
What people are pointing out is that your conclusion seems unlikely. If the code runs once every 20ms and uses the correct encoding for the motor controllers, there shouldn't be any measurable difference in driving. If you can think of other causes, then those too can be measured to determine if they differ and contribute to a difference in responsiveness.

Greg McKaskle

mlbernardoni 17-03-2013 19:13

Re: Which programming language does your team use?
 
Try it out yourself and post any different result. As I said, the programs are very simple.

Greg McKaskle 17-03-2013 19:29

Re: Which programming language does your team use?
 
The only explanation is that something was wrong with the LV code or something else changed, like the battery, or driving on linoleum instead of carpet, or another environmental issue.

If you post your LV code, I can easily run it to see what speed it is running at and verify that the speed controllers are being updated properly. Doing my own experiment will convince me, but will it really convince you, or others? It certainly won't if I fail to publish my data and my measurement methods.

Greg McKaskle

Alan Anderson 17-03-2013 21:44

Re: Which programming language does your team use?
 
Quote:

Originally Posted by mlbernardoni (Post 1249259)
Try it out yourself and post any different result. As I said, the programs are very simple.

I've written and run "very simple" tank drive FRC robot programs in both C and LabVIEW. I saw absolutely no difference in performance between them. You'll need to show us the program that you say has poor responsiveness, so we can try it ourselves and try to understand what's wrong with it.

Until I see what you're referring to, I'm not going to guess at what might be at the root of the problem. What I will do is point out something you said that confuses me:

Quote:

Originally Posted by mlbernardoni (Post 1249171)
all classes in the labview program are based upon the victor motor control block

LabVIEW classes are not a typical tool used by FRC teams, they certainly wouldn't be used in a "very simple" program, and I'm not sure you could even base one on the Motor functions. Perhaps you meant something else?

mlbernardoni 18-03-2013 10:04

Re: Which programming language does your team use?
 
Had to check with the team. The sample drive train programs from week 2 of the season are no longer available. We are competing next week and the week after, so too busy to re-create at the moment. Hopefully we will re-create after that.

brennonbrimhall 18-03-2013 17:17

Re: Which programming language does your team use?
 
Java is taught at our school in AP Computer Science, but we also have sponsors that use LabView in robotics applications (GlobalFoundries for their AMHS system).

All three languages are very professional. Bad code will always be bad code no matter what/how/why you program – hence why awesome mentor support is so awesome ;).

davidzz123 08-04-2013 18:44

Re: Which programming language does your team use?
 
My team has used LabView since its foundation. We like the simplicity and the support that First gives to the teams.

We want to learn how to programm the robot in Java.

bulbajackel 08-04-2013 20:36

Re: Which programming language does your team use?
 
Quote:

Originally Posted by brennonbrimhall (Post 1249822)
Java is taught at our school in AP Computer Science, but we also have sponsors that use LabView in robotics applications (GlobalFoundries for their AMHS system).

COMPUTER SCIENCE IN SCHOOL?!?!?! AWESOME! We use Labview though

bs7280 08-04-2013 20:41

Re: Which programming language does your team use?
 
Assembly, because thinks aren't complicated enough.

Just kidding, Java because it is more powerful than labview at times.

tcjinaz 08-04-2013 22:25

Re: Which programming language does your team use?
 
Quote:

Originally Posted by bs7280 (Post 1258962)
Assembly, because thinks aren't complicated enough.

Just kidding, Java because it is more powerful than labview at times.

Let's just start from bare metal. None of this froo froo HLL library-based stuff.

Alexa Stott 08-04-2013 23:55

Re: Which programming language does your team use?
 
Quote:

Originally Posted by bs7280 (Post 1258962)
Assembly, because thinks aren't complicated enough.

Just kidding, Java because it is more powerful than labview at times.

Pfft. We use punch cards. Get on our level.

Really, though, we use C++.

I'm not sure why OP thought that LabVIEW would be the "clear favorite."

wlmeng11 09-04-2013 00:56

Quote:

Originally Posted by Alexa Stott (Post 1259030)
Pfft. We use punch cards. Get on our level.

Really, though, we use C++.

I'm not sure why OP thought that LabVIEW would be the "clear favorite."

We use microscopic magnets to flip bits on our hard drives. Beat that.

We also use C++.

gixxy 09-04-2013 08:34

Re: Which programming language does your team use?
 
Quote:

Originally Posted by Alexa Stott (Post 1259030)
I'm not sure why OP thought that LabVIEW would be the "clear favorite."

Well LabVIEW IS the most used of the FRC Languages (this poll doesn't reflect that, however NIparkway's report, which has polled 700 teams, does.). The reasons are also fairly obvious. Its graphical which is a draw to new programmers, designed for one-off products, such as FRC Robots, which makes it useful for this task, and made by NI, same as the cRio, which subconsciously makes you feel like you have good support behind what you are using.

tkell274 09-04-2013 08:46

Re: Which programming language does your team use?
 
My team has been using java for several years now and it really seems to work the best for us. It allows us to get everything done exactly how we want it done and is easy to maintain. We do use labview but only for the FRC dashboard, which is nice, but I don't see us using it for anything more than that.

Alan Anderson 09-04-2013 09:52

Re: Which programming language does your team use?
 
Quote:

Originally Posted by wlmeng11 (Post 1259066)
We use microscopic magnets to flip bits on our hard drives. Beat that.

Butterflies.

nightpool 09-04-2013 10:54

Re: Which programming language does your team use?
 
Emacs has a mode for that...

xisybyl 09-04-2013 14:22

Re: Which programming language does your team use?
 
Quote:
Re: Which programming language does your team use?
Quote:
Originally Posted by apalrd View Post
LabVIEW is also heavily used in test and industrial automation, especially where complicated software is needed for a one-of-a-kind unit. I know a guy who used to professionally work with LV FPGA to evaluate and test high-speed SPI IMUs and ASICs.
SpaceX uses LabVIEW extensively:

Quote:
The Ground Software team is about 9 people. We primarily code in LabVIEW. We develop the GUIs used in Mission and Launch control, for engineers and operators to monitor vehicle telemetry and command the rocket, spacecraft, and pad support equipment. We are pushing high bandwidth data around a highly distributed system and implementing complex user interfaces with strict requirements to ensure operators can control and evaluate spacecraft in a timely manner.
________________________

So do Lockheed Martin, Ball Aerospace & JPL. I have used LabVIEW in used in RF radio transmitting/receiving and test applications. If one looks, there are an amazing number of LabVIEW programming jobs available, and when looking, the search is not muddied by database applications as C++ is.

Regarding statistics, I made my own survey at this year's regional. Results are:
LabVIEW: 50%
Java: 40%
C++: 5%.

michael.saxon 09-04-2013 14:34

Re: Which programming language does your team use?
 
Our team has a LabVIEW faction and a Java faction. So we had our java lovers go off and make an android scouting app and we programmed the robot itself with LabVIEW. Because we want rookies to be involved in all parts of the robot, it makes sense to use LabVIEW because we can teach it to a rookie in about 2 hours.

xisybyl 09-04-2013 14:46

Re: Which programming language does your team use?
 
Right on. I can't expect students to learn C++ for a real-time application in a matter of days or weeks. It's important to get more students involved in programming. And just do a Google search on "LabVIEW Jobs" and see how many openings come up.

jasp 09-04-2013 17:47

Re: Which programming language does your team use?
 
My team currently is using C++, but with our primary coders graduating we are switching to java next year. Our computer science classes teach java. Plus java is a more common language for people to learn by themselves before joining robotics, and it is always good to get experienced programmers.

Our team previously never understood or tried labview. But this year after gaining a mentor who knows it. After seeing labview being used for the driversation dashboard I can see why some teams prefer use it.

mman1506 10-04-2013 01:44

Re: Which programming language does your team use?
 
We have always used LabView for a robots but we got fend up with the messy visuals and bugs so we have switched to java for all our future robots. Our programmer is actually working on porting the library to IntelliJ IDEA. I have no idea how but he prefers that IDE.

Alexa Stott 10-04-2013 23:40

Re: Which programming language does your team use?
 
Quote:

Originally Posted by xisybyl (Post 1259298)
Quote:
Re: Which programming language does your team use?
Quote:
Originally Posted by apalrd View Post
LabVIEW is also heavily used in test and industrial automation, especially where complicated software is needed for a one-of-a-kind unit. I know a guy who used to professionally work with LV FPGA to evaluate and test high-speed SPI IMUs and ASICs.
SpaceX uses LabVIEW extensively:

Quote:
The Ground Software team is about 9 people. We primarily code in LabVIEW. We develop the GUIs used in Mission and Launch control, for engineers and operators to monitor vehicle telemetry and command the rocket, spacecraft, and pad support equipment. We are pushing high bandwidth data around a highly distributed system and implementing complex user interfaces with strict requirements to ensure operators can control and evaluate spacecraft in a timely manner.
________________________

So do Lockheed Martin, Ball Aerospace & JPL. I have used LabVIEW in used in RF radio transmitting/receiving and test applications. If one looks, there are an amazing number of LabVIEW programming jobs available, and when looking, the search is not muddied by database applications as C++ is.

Regarding statistics, I made my own survey at this year's regional. Results are:
LabVIEW: 50%
Java: 40%
C++: 5%.

Quote:

Originally Posted by xisybyl (Post 1259311)
Right on. I can't expect students to learn C++ for a real-time application in a matter of days or weeks. It's important to get more students involved in programming. And just do a Google search on "LabVIEW Jobs" and see how many openings come up.

This is pretty interesting. I go to a school where companies like Lockheed Martin (one of our engineering buildings and our wind tunnel are named after Glenn L. Martin), Northrup Grumman, the NASA Goddard Space Flight Center, etc. actively recruit from and haven't seen anything about LabVIEW. But perhaps they are recruiting more from the ECE department than CS. Who knows, really...

In any case, I wasn't bashing LabVIEW at all. When I joined FIRST in 2006, we used C so when they changed control systems, we went with what we knew (it was either C++ or LabVIEW, no Java, at the time IIRC). There's nothing wrong with LabVIEW; I just prefer C++.

connor.worley 10-04-2013 23:43

Re: Which programming language does your team use?
 
I would be interested in seeing people compare language usage on Einstein like they do with drivetrain types.

cgmv123 11-04-2013 12:04

Re: Which programming language does your team use?
 
Quote:

Originally Posted by connor.worley (Post 1260288)
I would be interested in seeing people compare language usage on Einstein like they do with drivetrain types.

Information on programming languages for last year's Einstein teams is in Appendix A of the Einstein Investigation Report.

F22Rapture 12-04-2013 15:40

Re: Which programming language does your team use?
 
Quote:

Originally Posted by connor.worley (Post 1260288)
I would be interested in seeing people compare language usage on Einstein like they do with drivetrain types.


TL;DR version of the statistics from the Einstein report

4 teams used Java
8 teams used C++
0 teams used LabVIEW

320x240 resolution on all cameras, 30 fps on all cameras but one

4 teams used Vision, of which 2 were on the cRIO, 1 was driver station and one onboard

3 used Jaguar CAN

7 used a LabVIEW Dashboard of which 3 were custom, 5 used SmartDashboard

hiyou102 12-04-2013 18:14

Re: Which programming language does your team use?
 
Quote:

Originally Posted by xisybyl (Post 1259311)
And just do a Google search on "LabVIEW Jobs" and see how many openings come up.

I find that living a city with a lot of industrial engineering I see a lot of jobs open for Labview. I remember recently, a company that my dad used to work at was having trouble finding qualified Labview programmers.

sarahg2543 12-04-2013 23:11

Re: Which programming language does your team use?
 
I know that we(Team 2543) use NI LabVIEW but are thinking of transitioning to C/C++. I think that LabVIEW is great for people that are not experienced with programming like me because it is visual and that makes it easy to learn(I'm a visual learner). But then again that's just me; everyone has different preferences and should use the program that they are the most comfortable with:D .

jhersh 13-04-2013 11:01

Re: Which programming language does your team use?
 
My tally for 2013 so far has the percentages as follows:

Java: 29%
C++: 18%
LabVIEW: 53%
Python: 0.2%

This covers 2463 teams.

techhelpbb 13-04-2013 13:47

Re: Which programming language does your team use?
 
The problem with the ChiefDelphi survey is more than one person from a single team can respond.

wlmeng11 13-04-2013 13:57

Quote:

Originally Posted by techhelpbb (Post 1261304)
The problem with the ChiefDelphi survey is more than one person from a single team can respond.

Or someone could make multiple accounts.

Dinoyan 13-04-2013 22:30

Re: Which programming language does your team use?
 
We use LabView.

Clem1640 14-04-2013 13:16

Re: Which programming language does your team use?
 
We use LabView and successfully manage a very cool 4-wheel independent Swerve drive-train, as well as a state-machine for 30 point climbing.

The link below describes the drive control and provides a link to some video.

http://wiki.team1640.com/index.php?t...n#Ocelot_Drive


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

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