![]() |
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.
|
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. |
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. |
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 |
Re: Which programming language does your team use?
Quote:
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. |
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 |
Re: Which programming language does your team use?
Quote:
|
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. |
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 ;)
|
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.
|
Re: Which programming language does your team use?
C++. We know how to write it and it has the fastest build+deploy times.
|
Re: Which programming language does your team use?
Quote:
Quote:
Our team uses Java. |
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++ |
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..
|
Re: Which programming language does your team use?
Quote:
|
Re: Which programming language does your team use?
Quote:
Anyway, we switched from LabVIEW to Java and love it. |
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?
|
Re: Which programming language does your team use?
We Write our main robot code in C and do our Dash Board with Lab View
|
Re: Which programming language does your team use?
Quote:
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. |
Re: Which programming language does your team use?
Quote:
-Mihir Iyer |
Re: Which programming language does your team use?
Java. We all know it and it's simple and clean.
|
Re: Which programming language does your team use?
Quote:
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. |
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. |
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.
|
Re: Which programming language does your team use?
Quote:
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. |
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. |
Re: Which programming language does your team use?
Quote:
Alex Brinister |
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.
|
C# >= Java
|
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:
|
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. |
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. |
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:
|
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. |
Re: Which programming language does your team use?
Quote:
|
Re: Which programming language does your team use?
Quote:
|
Re: Which programming language does your team use?
Quote:
Code:
using edu.wpi.first.wpilibcsharp.SimpleRobot; |
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. |
Re: Which programming language does your team use?
Quote:
|
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++.
|
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.
|
Re: Which programming language does your team use?
Is LabVIEW source control possible?
|
Re: Which programming language does your team use?
Quote:
|
Re: Which programming language does your team use?
Quote:
|
Re: Which programming language does your team use?
Quote:
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. |
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. |
Re: Which programming language does your team use?
Quote:
|
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. |
Re: Which programming language does your team use?
Quote:
|
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. |
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 |
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.
|
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 |
Re: Which programming language does your team use?
Quote:
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:
|
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.
|
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 ;). |
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. |
Re: Which programming language does your team use?
Quote:
|
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. |
Re: Which programming language does your team use?
Quote:
|
Re: Which programming language does your team use?
Quote:
Really, though, we use C++. I'm not sure why OP thought that LabVIEW would be the "clear favorite." |
Quote:
We also use C++. |
Re: Which programming language does your team use?
Quote:
|
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.
|
Re: Which programming language does your team use?
Quote:
|
Re: Which programming language does your team use?
Emacs has a mode for that...
|
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%. |
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.
|
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.
|
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. |
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.
|
Re: Which programming language does your team use?
Quote:
Quote:
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++. |
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.
|
Re: Which programming language does your team use?
Quote:
|
Re: Which programming language does your team use?
Quote:
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 |
Re: Which programming language does your team use?
Quote:
|
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 .
|
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. |
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.
|
Quote:
|
Re: Which programming language does your team use?
We use LabView.
|
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