|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
This year Team 2185 used Labview for their robot. But next year they were thinking on using some other language (either C++ or Java maybe even Python).
So my question is, is there any benefits to using Labview/C++/Java Like is their any specific reasons to why teams choose the language they have I heard from a friend on another team that there are pros and cons of each language. (Correct me if my wrong) Also I would like seek some advice on which language to stick to, which one is the easiest, which one has less limitations, etc Thank you very much in advance ![]() Last edited by 2185Bilal : 10-05-2012 at 18:02. Reason: spelling |
|
#2
|
||||
|
||||
|
Re: Which language should we program in
There are quite a few threads on this topic.
http://www.chiefdelphi.com/forums/sh...light=language http://www.chiefdelphi.com/forums/sh...light=language http://www.chiefdelphi.com/forums/sh...light=language http://www.chiefdelphi.com/forums/sh...light=language Just the first couple that I found. |
|
#3
|
||||
|
||||
|
Re: Which language should we program in
The summary of every one of those threads is:
Use what you are comfortable with and what your mentors and teachers are familiar with. If there is no specific langauge that your team has expertise in, then take your pick. There is nothing that one language can do that another cannot (of the languages listed), and I suspect you'd find that nearly every language is used by the championship teams. |
|
#4
|
||||
|
||||
|
Really
Cuz i heard that vision processing was better in LV but u have more control over the drive train but i guess im wrong ![]() |
|
#5
|
|||
|
|||
|
Re: Which language should we program in
Since we have a Java class at our school, Java is what we use.
Between Java and C++, most of the differences are noted by the always awesome WPILib people: Brad Miller, Ken Streeter, Beth Finn, Jerry Morrison, Dan Jones, Ryan O’Meara, Derek White, Stephanie Hoag, and Alex Henning. Here are their words verbatim from page 10 of the PDF: Quote:
|
|
#6
|
||||
|
||||
|
Re: Which language should we program in
Quote:
|
|
#7
|
||||
|
||||
|
Re: Which language should we program in
Due to the libraries already being written for us it is all a matter of what you may know, and what you are comfortable with.
Labview is quick to learn and a visual language. Its more connect the dots to control the robot. However it is High Level and that can cause a decreased performance. (I believe Labview is fully interpreted. Please correct me if I am wrong) Java is FULLY Object Oriented and has things built in like Garbage Collection (to automatically remove objects that are no longer needed), and this does make for a simplified learning experience with text programming languages. Java is also high level, but at least is compiled to byte code so it has a little more speed) C++ is a lot more manual, you allocate yourself, you setup the objects and de-allocate them yourself, you have pointers, and so there is a lot more room for mistakes. However it will be the fastest running code, being that it is straight machine code for the cRio's PowerPC CPU. Python is only supported by individual teams and I do not know how user friendly it is, I have next to no experience with it, however I do know that it is fully interpreted and that COULD cause some performance issues if you are going a lot of automated stuff. Personally I think none of them are hard to learn (then again I was writing PHP at 13 and some Java at 15) There are tons of videos on all of them as well as books and other aids. We chose Java because I had a little experience with it and the others on the Programming team felt they had enough confidence to do it, and boy it worked out for us! |
|
#8
|
|||||
|
|||||
|
Re: Which language should we program in
Quote:
Quote:
LabVIEW programs get compiled into native machine code, just like C/C++ programs.I won't nitpick your descriptions of the other languages. Quote:
|
|
#9
|
||||
|
||||
|
Re: Which language should we program in
Quote:
1. Labview is easier to teach. FIRST is an educational program, it is not just about building robots, it is also learning the processes and methods along the way. I chose Labveiw largerly because I find it easier to teach to new students with little experience and easier to do design reviews with non-coders, students and adults alike. If I were building robots by myself, alone in my basement, I would certainly write in C++, but since I work with a team of students and non-software people, it is more about the team than about me and what I like. 2. Labview has excellent support. The NI community is quite helpful and supportive of Labview for FRC, and there is a large local LV users community. I worked with them a lot back in 2009 during the control system migration. I helped many teams in this time period and since and NI was very helpful in resolving many issues quickly. Third is the fact that, in the future, most of the world of software engineering will move to graphical methods. In my world, in automotive electronics, almost all of the software we 'write' is in graphical languages: Simulink, Stateflow, Statemate, Altia, etc. If we want to prepare these kids fo the future, we should pick our methods according to what they are likely to need someday. You can achieve good results with any of the languages avialable. You will learn a lot no matter which path you choose. |
|
#10
|
||||
|
||||
|
Re: Which language should we program in
Quote:
Where I work (in the medical device industry), all of our consumer products are prepared in C or Java. Some of our manufacturing and testing labs use visual languages, but a vast majority of our programmers spend every day looking at and writing lines of code, not connecting the dots in a visual interface. My resume states I have experience in Java, C (and all the variants and successors of C), and Labview, along wiht some other languages. However, all of the calls I've gotten from recruiters browsing Linked-in want me for either Java or C related jobs. I haven't had anyone call and ask if I would be interested in a labview job. |
|
#11
|
|||||
|
|||||
|
Re: Which language should we program in
Quote:
I know a lot of control loops are done in a graphical language where each block specifically represents some real world counterpart. |
|
#12
|
|||
|
|||
|
Re: Which language should we program in
Quote:
There will always be pros/cons between numerous languages, and how they work - that's why so many languages exist in the first place. Graphical programming languages definitely do have potential, though. A perfect example would be in dynamically creating user interfaces, where numerous elements are nested. In a case like this, numerous "controls" are created, and appended to other larger "controls". This sort of flow is extremely well expressed in a visual programming language. -- To answer the original question: Our Robot's source code was developed in Java. The Operator Interface was developed in C# (which was influenced by C++/Java/Other Languages) Last year we programmed the robot in LabVIEW. Image processing was extremely to implement in C#, from the grounds up (directly manipulating the bitmap data). With C#'s ability to "pin" arrays to pointers, this code could execute at extremely fast speeds, and array element accessing did not have the overhead of bounds checking. Last edited by ItzWarty : 28-05-2012 at 19:57. |
|
#13
|
|||
|
|||
|
Re: Which language should we program in
Quote:
The first question when selecting a language is the ease of transition. If someone already knows in C++, C#, etc. and can teach that, then you should first consider those. We use Java because of our programming class at the our high school – we've got a background in it already. Unless, of course, your point is to teach your team a knew language in the first place. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|