Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   The One-language-per-year Challenge (http://www.chiefdelphi.com/forums/showthread.php?t=117943)

E Dawg 23-07-2013 16:23

The One-language-per-year Challenge
 
I hereby issue a challenge to the programming departments of each team: use a different language each year.

The Rules:
-Use a different language each year.
-The 4 languages to use are C++, Java, LabView and Python. Feel free, however to add others to the mix.
-There must be at least a 4 year interval before a language is reused. In other words, no programmer should ever use the same language twice.

Pault 23-07-2013 16:34

Re: The One-language-per-year Challenge
 
I'm going to avoid the temptation to write a really long post and just ask 1 thing.

Why?

apalrd 23-07-2013 16:38

Re: The One-language-per-year Challenge
 
Python is not a real, supported FRC language.

There are 3 choices if you want any help at all.

I too question why.

ttldomination 23-07-2013 16:46

Re: The One-language-per-year Challenge
 
"Jack of all trades; master of none." comes to mind almost immediately.

- Sunny G.

Ilovepineapples 23-07-2013 18:29

Re: The One-language-per-year Challenge
 
I like the idea of the challenge but I think it would be kind of hard to implement. The teams I have experience with have never really had a "dedicated" programming team, generally they do electrical and pneumatics as well.

On the other hand I have been looking into using python to program our robot, even though it is not 'officially' supported.

My goal has always been to be the "Jack of all trades; master of none." as ttldomination stated.

BrendanB 23-07-2013 18:32

Re: The One-language-per-year Challenge
 
We've used 3 different languages in the past 3 years. Hey, it happens when your team is founded with freshman, they grow up and learn new stuff! ;)

I think we've found our preferred language by now, Java.

ttldomination 23-07-2013 18:33

Re: The One-language-per-year Challenge
 
Quote:

Originally Posted by Ilovepineapples (Post 1284140)
My goal has always been to be the "Jack of all trades; master of none." as ttldomination stated.

Well, that saying can really be considered either good or bad.

In competition, especially FIRST, I think it is widely accepted that it's better for you to do one thing really really well as opposed to do a lot of things at a mediocre level.

- Sunny G.

rsisk 23-07-2013 19:21

Re: The One-language-per-year Challenge
 
Quote:

Originally Posted by Pault (Post 1284102)
I'm going to avoid the temptation to write a really long post and just ask 1 thing.

Why?

I'll throw out a reason. Learning multiple languages helps you learn to think in terms of programming structures, or design patterns, ie., you become more meta and less syntax.

That said, I would probably use a base language year over year and have off season challenges to re-implement in a new language. Then switch if your team decides it wants to.

Foster 23-07-2013 20:28

Re: The One-language-per-year Challenge
 
I'm a big fan of Robo-Cobol and think that most teams should moving that way.

I can see taking an existing robot and trying to program it in some other language as a possibility. So it's a teaching moment.

On the other hand to program a robot during a season because it's a different language seems like a bad idea.

Pault 23-07-2013 21:17

Re: The One-language-per-year Challenge
 
Quote:

Originally Posted by rsisk (Post 1284146)
I'll throw out a reason. Learning multiple languages helps you learn to think in terms of programming structures, or design patterns, ie., you become more meta and less syntax.

That said, I would probably use a base language year over year and have off season challenges to re-implement in a new language. Then switch if your team decides it wants to.

I can definitely see the benefit of multiple languages. In fact, when I first saw this thread, I thought it was a challenge to learn a new language every year, but as an individual rather than as an entire team, and thought "wow, that's a really cool idea." And even having a team to try to learn some of the other languages during the off-season would be pretty cool, although I could think of better things to be spending code training time on. Coding your competition robot in a different language every year, though, is just counter-productive. One of the biggest problems I could see teams running into is having mentors who only know one of the languages well, then having to find new mentors every year because the old ones decide not to try to learn the new language.

faust1706 24-07-2013 00:22

Re: The One-language-per-year Challenge
 
Our team has always programmed in labview. In 2012 we implemented vision for the first time. In 2012 & 2013 we used C for vision, this summer me and another student are forcing ourselves to write every vision project in C++. By next summer I hope to be using python for some projects. Our scouting program was written in C# this year. The reason we write in so many languages is because our mentors that help with programming just happen to know different languages.

While we don't switch programs every year, we offer a wide variety, so if you don't find labview amusing, you can try another. I personally don't care what language a teammate programs in as long as they enjoy it and it works.

I believe this is a safer alternative than switching languages every year. It still provides the diversity, but the veteran experience is still there.

Roger 24-07-2013 07:13

Re: The One-language-per-year Challenge
 
Quote:

Originally Posted by Foster
I'm a big fan of Robo-Cobol and think that most teams should moving that way.

Hey! That's my line! :)

It's true that learning other languages is useful, like when the mother cat and her kittens were suddenly confronted by a dog. Mother cat barks furiously and the dog runs away. "See?" the mother cat says to her kittens. "Now you see why is important to learn a foreign language!"

I agree with rsisk, that learning multiple languages helps teach programming structure and method. LISP and FORTH, for example, have a very logical format. (APL too, for that matter.) Maybe not as readable, but it makes sense. Robo-COBOL, on the other hand, is very readable, but oh-my! The typing! The typing!

Our team used LabVIEW ever since it was introduced. The school district's FLL and FTC teams are already using LabVIEW, and we're starting to see those kids coming up to FRC already knowing how to do the basics. We (the mentors) would prefer sticking to the one language "just in case". What if your lead programmer can't make it to a competition? Can your relief pitcher pick up the language real quick? I don't mind exploring/learning other languages off-season, but let's keep everyone focused on one language -- whatever it is -- during build season.

Gdeaver 24-07-2013 08:23

Re: The One-language-per-year Challenge
 
The build season is 6 weeks. The programming team is lucky if they get a vetted mechanically robot at the end of week 4. More like the last week or the last week end . Not a time for the programming team to be dealing with a new language. I want our programming team to be up to speed and ready to run hard when the robot is finally ready for them. If we change a language it would have to start in the summer and continue through the fall to be ready for the season. We have students that have multiple years of lab view experience and can run with a project. I would hate to throw all that experience away. We have used some arduino boards and some programmers have been exposed to c and c++ with them. I prefer a master of one.

brennonbrimhall 24-07-2013 09:16

Re: The One-language-per-year Challenge
 
At FRC, you really only need to learn one language. Consider the pit area for a team. They have lots of tools to work with – but no two tools are designed for precisely the same purpose. A Philips screwdriver will not replace an allen key or some extruded aluminum (MacGyvering aside). Us programmers only have four tools/languages to work with (yes, Python is a perfectly viable option, don't dismiss it), but these tools are all intended to do the same thing. That's why FIRST remains primarily a mechanical competition, not really a programming one, and why teams will stick with a language.

In short, I think it makes sense to select a single language that suits your team for robot-related tasks, but also broaden your palate with non-robot languages – 254 just released an amazing Ruby-based CAD program, for example, that relied on some not-trivial SQL. Or 245, who released a scouting app written primarily in Javascript, designed to calculate OPR, CCWM, etc. There are two branches of FRC programming – the Robot, and some utilities for your team.

techhelpbb 24-07-2013 11:38

Re: The One-language-per-year Challenge
 
Quote:

Originally Posted by Foster (Post 1284158)
I'm a big fan of Robo-Cobol and think that most teams should moving that way.

Robo-Cobol 74:

000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. FOURDIVISIONSNOSUPPORT
...


Seems to me that this is sort of an opt-in venture. Sounds like fun but I am not sure most teams would want to chance that they switch to an unfamiliar language on what will most certainly be a new platform they will not probably have weeks into a 6 week build. Definitely worth learning to do outside of the build season however.

Gonna be hard to get the IBM mainframe on the robot in the weight limit.


All times are GMT -5. The time now is 03:04.

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