Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   What Language To Use? (http://www.chiefdelphi.com/forums/showthread.php?t=97748)

AdamHeard 19-10-2011 14:21

Re: What Language To Use?
 
Quote:

Originally Posted by Team 3705 (Post 1081539)
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.

RobotPy is python that 294 ported over, I know they used it successfully all season.

Sconrad 19-10-2011 16:41

Re: What Language To Use?
 
Quote:

Originally Posted by Team 3705 (Post 1081539)
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.

Just keep in mind what the new programmers are going to know. If your school has some sort of C++ or Java (AP Computer Science) class, then that language is probably best for you. I am a programmer for team 122 and we get a lot of kids in our programming group whose only experience with programming is some scripting language like html. Therefore, Labview works well for us. Because it is all visual, Labview is relatively easy to teach to kids who are new to programming. Another advantage to Labview: Every function you will ever need is in a right-click menu, so it is really easy to learn by without constant supervision, which can be a huge help if you are short on experienced programmers.

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.

Andrew Schreiber 19-10-2011 17:18

Re: What Language To Use?
 
Quote:

Originally Posted by Sconrad (Post 1081801)
Just keep in mind what the new programmers are going to know. If your school has some sort of C++ or Java (AP Computer Science) class, then that language is probably best for you. I am a programmer for team 122 and we get a lot of kids in our programming group whose only experience with programming is some scripting language like html. Therefore, Labview works well for us. Because it is all visual, Labview is relatively easy to teach to kids who are new to programming. Another advantage to Labview: Every function you will ever need is in a right-click menu, so it is really easy to learn by without constant supervision, which can be a huge help if you are short on experienced programmers.

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.

Not to be a jerk but HTML is a markup language NOT a scripting language. If they know a scripting language it is actually really useful as they already know the basics of programming (variables, flow, logic etc).

Sconrad 19-10-2011 17:33

Re: What Language To Use?
 
Quote:

Originally Posted by Andrew Schreiber (Post 1081808)
Not to be a jerk but HTML is a markup language NOT a scripting language. If they know a scripting language it is actually really useful as they already know the basics of programming (variables, flow, logic etc).

You are right. HTML is not a scripting language. I meant markup manguage but the terms got jumbled up in my head (maybe humans do need more than 5 hours of sleep a day:] ) I have nothing against people who have programmed in any language, as taking up a language shows they are interested in programming and computers, which, IMHO, is more important than previous knowledge.

AustinSchuh 20-10-2011 02:36

Re: What Language To Use?
 
Quote:

Originally Posted by PRich1477 (Post 1081874)
I'd estimate that over 80% of our Dropbox is CAD files, with about 4 robots worth of parts and assemblies on there (2010 x 1, 2011 x 1.5, 2011.5 x 1.5).

Our SVN repository has our CAD files in it as well as all the code. SVN works for CAD files as well.

Andrew Schreiber 20-10-2011 09:40

Re: What Language To Use?
 
Quote:

Originally Posted by AustinSchuh (Post 1081879)
Our SVN repository has our CAD files in it as well as all the code. SVN works for CAD files as well.

About the only thing you lose is diff-ing the files.

For reference, Git works as well. Use whatever works best for your team.

theprgramerdude 28-10-2011 20:24

Re: What Language To Use?
 
Quote:

Originally Posted by Mk.32 (Post 1080775)
What off season is for.
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.

Don't do this. You can (and definitely should, if you have time and are considering multiple languages) do it during the off season to get a hang of each language and play around with which one is better/easier to code with, but if you do this during build season, you will not end up using better code. You'll end up using code that only has half the time put into it that it could have had, which usually implies it's not as great as what it could have been.

Joe Ross 28-10-2011 21:14

Re: What Language To Use?
 
Quote:

Originally Posted by theprgramerdude (Post 1083109)
Don't do this. You can (and definitely should, if you have time and are considering multiple languages) do it during the off season to get a hang of each language and play around with which one is better/easier to code with, but if you do this during build season, you will not end up using better code. You'll end up using code that only has half the time put into it that it could have had, which usually implies it's not as great as what it could have been.

It's definitely not the best choice for many teams, but for larger teams it can be a good choice. Team 67 won a world championship having run some competitions with c++ code and some competitions with LabVIEW code.

WizenedEE 28-10-2011 21:23

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)?

apalrd 28-10-2011 21:35

Re: What Language To Use?
 
Quote:

Originally Posted by WizenedEE (Post 1083118)
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)?

Because it's not officially supported (so WPI/FIRST/NI can't help you) and very few teams use it (compared to LV, C++, and Java), so you have less community help.

Ether 28-10-2011 21:39

Re: What Language To Use?
 
Quote:

Originally Posted by WizenedEE (Post 1083118)
I want to know why people keep saying that python is sketchy

I couldn't find the word "sketchy" in any of the previous posts in this thread.

The major issue is support.



theprgramerdude 29-10-2011 00:05

Re: What Language To Use?
 
Quote:

Originally Posted by Joe Ross (Post 1083117)
It's definitely not the best choice for many teams, but for larger teams it can be a good choice. Team 67 won a world championship having run some competitions with c++ code and some competitions with LabVIEW code.

How can it be a good choice? While I am not aware of how Team 67 produced their code, the fact that they wrote good versions in both c++ and LabView simply proves that they write good code.

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.

apalrd 29-10-2011 10:20

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.

flameout 29-10-2011 12:18

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¢.

davidthefat 29-10-2011 12:31

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...


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