![]() |
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. |
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? |
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. |
Re: The One-language-per-year Challenge
"Jack of all trades; master of none." comes to mind almost immediately.
- Sunny G. |
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. |
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. |
Re: The One-language-per-year Challenge
Quote:
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. |
Re: The One-language-per-year Challenge
Quote:
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. |
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. |
Re: The One-language-per-year Challenge
Quote:
|
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. |
Re: The One-language-per-year Challenge
Quote:
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. |
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.
|
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. |
Re: The One-language-per-year Challenge
Quote:
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. |
Re: The One-language-per-year Challenge
Quote:
|
Re: The One-language-per-year Challenge
Quote:
During the first week of build, we all set a rough idea of what is needed on paper, with the electronics mentor doling out port numbers etc. The programmers usually got ahead of the prototype robot (or the multitude of pre-prototype mock-ups) with only tweaking of code (if we're lucky) or rewriting code (if the manufacturing group changed the design). Quote:
|
Re: The One-language-per-year Challenge
Quote:
Man that brings back memories |
Re: The One-language-per-year Challenge
Quote:
But seriously, I like the idea of teaching new technologies and skills. I do not like the idea of making this stuff harder than it already is. |
Re: The One-language-per-year Challenge
IBM did have 370's on a computer card Micro 370 which would fit on a robot today! On the other hand, getting a punch card reader that size will be a problem :rolleyes:
Thanks for the COBOL laugh, COBOL was my second language after Fortran. For awhile I worked at place that had Object Oriented COBOL, it was pretty cool. |
Re: The One-language-per-year Challenge
Quote:
Seriously, APL should be taught first, then when they are totally lost, tell them you'll give them something simpler, like C. I'm sure there's a Sheldon Cooper quote in there somewhere. |
Re: The One-language-per-year Challenge
Quote:
http://www.homebrewcpu.com/Pictures/..._wrap_side.jpg For those studying the electronics they'll never forget the real value of a netlist after that. Extra points if you can wire-wrap a whole cRIO from CMOS chips. No seriously, though, part of the pain of building these robots at all is that often times the core concepts and subtle core things you must do to get anything done is still sometimes a matter of imagination. Let alone twisting that into something unique and reliably functional. One should not loose sight of what it was like to learn when first you had to build the computer. Disputes about the 'best' language for something tend to start to look like a luxury. |
Re: The One-language-per-year Challenge
Quote:
And CMOS? Really TTL isn't good enough for you? Finally, one of my early jobs at the University was to help maintain the computer billing system that was written in APL. Clearly a write once read never language. My programming language arc is Fortran, COBOL, MAD, ALGOL (and variants like ESPOL), APL, TECO (ask anyone, its a programming language wrapped in an editor), Assembler (oh PDP8 Assembler how I loved thee) , BASIC (and variants like Visual Basic), Pascal, C and (C++), Lisp, AWK, ICON, Forth, XLISP, TADS, Bob, Logo, Pilot, Smalltalk, TCL, Java, Javascript, Python, Ruby, Processing, Labview and Lua. I'm working on English, hope to master that soon. |
Re: The One-language-per-year Challenge
Quote:
Quote:
Quote:
No PHP, Perl, MegaBASIC, QuickBASIC, BASICA, GWBASIC, F#, Ada, DarkBASIC, GLBASIC, FreeBASIC, RCL, PureBASIC, Commodore BASIC, Delphi (Object Pascal), SED, PolyFORTH, pBASIC, SPIN and XCore C/C++? Come on you're acoustic coupling it in at what like 300 baud? :D At some point it does start to get down to this....yes we can make it do that....but it might be wise to not ask how unless you are prepared to absorb way too much information. |
Re: The One-language-per-year Challenge
Quote:
English, hence the fact that there are over 100 programming languages :ahh: . |
Re: The One-language-per-year Challenge
I have an alternative challenge... get really good at one language, aim to develop the best software in FRC using the knowledge of the language you've built up over the years, and leave as an expert in that language.
|
Re: The One-language-per-year Challenge
Quote:
"Over 100 programming languages" is a laugh. There are over 100 "mainstream languages", I'd guess there are over 5000 other languages out there. I've written two "little languages" that were designed as domain based languages". I'm not alone, so I'll take a bet that 5000 languages is the low water mark. Surf github, look for Java clones, Javascript clones, lisp (of all flavors) clones, etc. Domain based languages rock, some day there will be an amazing robot domain language we will all use. Love these language conversations, but at the end of the day pick one that fits best and you can program best. I use AWK for "dig into files to rip data apart". I use R to rip that data apart into stats and reports. I use C to make robots dance and I use Lua as my new flirty programming friend. And I use English to document the stuff I write, so others can follow it if I'm not there. |
Re: The One-language-per-year Challenge
Quote:
http://en.wikipedia.org/wiki/Logo_%2...ng_language%29 http://en.wikipedia.org/wiki/Lego_Logo I got a charming letter from Lego when I was younger suggesting that their lawyers would like to get to 'know me' because I sort of 'adjusted' the Lego control box for the Apple IIGS to have sensors like 'The Clapper'. Doesn't it sound like a 'great' idea to have a Lego hydraulic (yes not pneumatic) system operating a pair of really sharp sissors also open and closed by Legos? I thought so.... If that sounds potentially....oh dangerous...at that particular competition a student arrived with a circular saw on a large Uncle Sam dressed mannequin on an FRC sized (this was long before FIRST) rolling platform. It wasn't anything to be concerned about the saw was only 6' off the floor with the guard open rolling on a robot plugged into the wall. I did not find it all a bit creepy the 'head' of Uncle Sam was basically circular saw. |
| All times are GMT -5. The time now is 22:40. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi