![]() |
What Language To Use?
Hi, I am one of the leads in charge of programming for Team 3705. We are trying to participate for the 2012 challenge, we are a fairly new team.
We used C++ last year, and did not have autonomous mode. I want to look at other languages that we could possibly use. So, far I would love to use Python to program the robot, but there seems to be some issues. Please comment on what languages we could use, we are fairly new. Most of the people that are in charge of programming the robot are not familiar with programming at all. So, I have to be able to teach them also including myself. Suggestions? Comments?:] |
Re: What Language To Use?
Last year, you could use C++, Java, or Labview and be supported. Some people did write in Python, but had to write their own whatever-you-call-it to make it work.
|
Re: What Language To Use?
C++/JAVA/Labview are the most popular, python is doable but it is relatively new and you will need to do a bit of extra work to get it to work, more info on the python select of the forum.
You should start with whatever language you and/orthe rest of your team (including mentors) know best. For us it was JAVA and it worked out quite well for us. If none of you know one language in particular, all 3 has pros and cons. There are some threads about that if you do a quick search. |
Re: What Language To Use?
I really like Python, but I still think it needs work. We might just as well go with C++ again. But I will definitely try to test Python and see if it is something that we can use as an alternative.
|
Re: What Language To Use?
Quote:
If you have enough programmers, you can even have 2 teams, one that codes in Python and one that does C++. And for competition use which ever works better. |
Re: What Language To Use?
Well, everyone in my team is a newbie to all this. We lost our program lead last year.
So its all up to me, and we are lacking members on some fields. I am really worried about the state of organisation in my team. No one has done collaborative development before. Last year it was a one man job. This year I am trying to spread out the work, but everyone is really new to programming. Since we are a team in HS, most of these students are in Grade Nine. For some reason, we are lacking more senior students with knowledge, which I plan on changing. Some of the things that I already started doing is auditing last year's code. But I have much more to do. Would love to see someone else's C++, or just general code. |
Re: What Language To Use?
If you do a search here on chief delphi, you'll find people have posted their competition code. Likewise, many beta teams posted their code at the end of beta last year, which would give you a good bit of code to look at. You can find the beta forums at www.usfirst.org.
|
Re: What Language To Use?
I'm just going to put this out there:
If your team is interested in learning LabVIEW, there are great guides to get you started and keep you going at http://www.frcmastery.com/. |
Re: What Language To Use?
If you think your team may be "struggling with programming", then I suggest picking a language that has a lot of FRC support already available. While Python may be cool, you'll struggle with it far more than with LabView, for example.
The choice for our team was mainly dictated by what the mentors knew, and that was LabView. Remember that no matter which language you choose, there is generally no task that can't be done. So it becomes a matter of what is easiest to master. Don |
Re: What Language To Use?
For more of a comparison between the languages, read this thread:
http://www.chiefdelphi.com/forums/sh...ing+langu age |
Re: What Language To Use?
Quote:
that is how I re-learned labview... that, and reverse-engineering the code for an old 2010 bot (and getting a better resultant code) worked out well. for newcomers, labview would be my recommendation. but use whatever your team knows best. |
Re: What Language To Use?
If there is any question about which programming language to use, I would follow Don's advice and stick with C++, Java, or Labview.
You will find that if you encounter any problems, there will always be a mentor or student on another team nearby that can help you with any of those three. If you go with Python, your choices for assistance will be far more limited. Python is fun for the off-season, but I would always stick to an officially supported language for the competition, because the libraries for the officially supported languages have been heavily tested and you get the support of other teams. |
Re: What Language To Use?
Thanks for all of your guys opinion! We will definitely look into using C++ and maybe LabView.
I would prefer C++ though! I hope python is an option out there though, but who knows. I will try to experiment when I have the time. My team also has a bad design team. So there is definitely a problem there also. Anyways, thanks for the reply! Will definitely look at the various code out there. |
Re: What Language To Use?
Quote:
|
Re: What Language To Use?
Quote:
You can't fix everything in software, but some rational and logical suggestions might be able to turn bad into good. How can we help? |
Re: What Language To Use?
Quote:
|
Re: What Language To Use?
Quote:
I would recommend the method of splitting into two groups if for no other reason than your team will have experience in two languages and will be able to help more teams at competition. |
Re: What Language To Use?
Quote:
|
Re: What Language To Use?
Quote:
|
Re: What Language To Use?
Quote:
|
Re: What Language To Use?
Quote:
For reference, Git works as well. Use whatever works best for your team. |
Re: What Language To Use?
Quote:
|
Re: What Language To Use?
Quote:
|
Re: What Language To Use?
I want to know why people keep saying that python is sketchy and shouldn't be a first choice of language. It's not as if the motors will suddenly stop working, is it (assuming it's properly programmed and tested)?
|
Re: What Language To Use?
Quote:
|
Re: What Language To Use?
Quote:
The major issue is support. |
Re: What Language To Use?
Quote:
Unless the programmers know enough to write code in C++ and Labview and use each environments components interchangeably in the code that is used on the robot (highly unlikely), developing on both platforms means time is lost that could have been spent improving upon only one platforms existing code. The exception occurs only when you have several programmers who are only fluent in one language, in which case, yes, it might be a good choice to split them up, although productivity-wise, it would make more sense to have them retrained in c++/labView, so everyone is using a single language and the entire programming team can actually work together, rather than having several teams not working together. |
Re: What Language To Use?
In team 67's case, they had two independent groups programming (no common programmers). They had so many people interested in programming that a single team would have been too large to be reasonably productive (I fully agree with this opinion - Too many programmers on a project of this size is a bad thing).
I talked with 67's lead LV programmer from that year. After talking with him, about LabVIEW, he made no mention of any interaction with the C++ guys at all. |
Re: What Language To Use?
In 2010, we started off using Java. However, we wanted to use the camera tracking code, and somewhere in the native libraries or WPILibj, it was crashing (I recall getting some sort of error in Netbeans's debug console).
Therefore, early on, we switched to LabVIEW. This worked great, until the end of build season, at which point... -- the camera stopped working again (after updating the cRIO image). We also experienced issues with code downloads (the only available workaround was to reimage before every download). As our code that year was relatively simple (because the default vision worked out of the box), it was within our capabilities to have coded in both languages (and C++ too, for that matter). Had we done so, we could've switched languages away from LabVIEW -- likely solving the code download issue (since Java and C++ use FTP, and LabVIEW doesn't AFAIK) as well as possibly restoring camera function. I am considering writing code in multiple languages this year -- even if we only get vision (assuming it exists in the next game) working in one or two languages, it'll still be driveable should we encounter a killer bug in one of the cRIO's images. Of course, this means nothing if you don't have programming time to spare -- after choosing a "main" language, don't sacrifice the quality or performance of your main code just to work on the backups. Just my 2¢. |
Re: What Language To Use?
Here is my two cents: do not get caught up in the whole "which" language debate in the first place. Just pick one. The language you use will not affect performance of the robot (unless you are doing some memory intensive calculations and need to optimize). What is important is the way you think and come up with a solution. Regardless of the language, the solution is the most important thing here. Different languages will not hinder your ability to come up with that solution; chances are, you won't be using features specific to one language. For example, pointers; every object other than primitives in Java are essentially pointers. Don't be immature and say "oh, but I want to use pointers, so I must use C++". No. You also probably will not need inline assembly either. Java just makes memory management easier too. If your java program has a memory leak, you are doing something very wrong...
|
Re: What Language To Use?
Quote:
Quote:
|
Re: What Language To Use?
Quote:
We did not change our code at all when we updated LabVIEW, so that rules out a mistake on my part. I apparently missed the No App DIP fix -- the post came two days later, so I probably either forgot to check the thread or subscribe to it (we wouldn't have done any further programming after this point until regionals). Thanks for the help. Note: I still feel my point about using multiple languages (iff you have the resources to) holds, even if this one instance turned out to be a solvable problem (it would've been nice to just switch languages, rather than needing to scramble for a last-minute solution). |
| All times are GMT -5. The time now is 19:00. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi