Go to Post -Our engineering mentor, Mr. Wittel- *crossing arms and sitting down* "Ahhh. I love work. I could watch it all day." - OverdriveAdge [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 13-10-2014, 10:23
weaversam8 weaversam8 is offline
Team Captain
AKA: Sam Weaver
FRC #4534 (Wired Wizards)
Team Role: Leadership
 
Join Date: Jan 2014
Rookie Year: 2014
Location: Wilmington, North Carolina
Posts: 137
weaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to behold
Multiple programmers: version control or naw?

Our team has sustained major growth this year, up to around 40 students. A good percentage of them wish to learn programming, which is a huge load on our 2-man programming team.

Programming the same robot with 2 people proves challenging enough, let alone 10.

Does anyone have any experience with multiple people working on the same code?
__________________
ORB Haow!

  #2   Spotlight this post!  
Unread 13-10-2014, 10:27
BigJ BigJ is offline
Registered User
AKA: Josh P.
FRC #1675 (Ultimate Protection Squad)
Team Role: Engineer
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Milwaukee, WI
Posts: 947
BigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond repute
Re: Multiple programmers: version control or naw?

I encourage you to look into github - and learn how to use git while it is still preseason

There is a link to their education subsite in this topic where you can get a free organization account for your FIRST team.

http://www.chiefdelphi.com/forums/sh...ghlight=github

If you try to get on without version control you're going to have difficulties down the road!
  #3   Spotlight this post!  
Unread 13-10-2014, 10:29
notmattlythgoe's Avatar
notmattlythgoe notmattlythgoe is online now
Flywheel Police
AKA: Matthew Lythgoe
FRC #2363 (Triple Helix)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2009
Location: Newport News, VA
Posts: 1,722
notmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond repute
Re: Multiple programmers: version control or naw?

The answer to version control is always yes, no matter how many people you have working on the code.
  #4   Spotlight this post!  
Unread 13-10-2014, 10:32
Woolly's Avatar
Woolly Woolly is offline
Programming Mentor
AKA: Dillon Woollums
FRC #1806 (S.W.A.T.)
Team Role: Mentor
 
Join Date: Feb 2012
Rookie Year: 2012
Location: Springfield, MO
Posts: 512
Woolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond repute
Re: Multiple programmers: version control or naw?

I have found that version control can be handy even with only 1 programmer, and its usefulness grows exponentially with added programmers.
__________________


Team 1806 Student: 2012-2013 | Mentor: 2013-Present
  #5   Spotlight this post!  
Unread 13-10-2014, 11:26
pastelpony's Avatar
pastelpony pastelpony is offline
Programmer/Electrical
AKA: Zach M
FRC #3525 (Nuts and Bolts of Fury)
Team Role: Programmer
 
Join Date: Feb 2014
Rookie Year: 2013
Location: Waterbury, Connecticut
Posts: 152
pastelpony will become famous soon enough
Re: Multiple programmers: version control or naw?

We had 6 programmers (including myself) touching the code when I was a freshman. It certainly wasn't the cleanest code ever written. The next year, we had 2, which led to way cleaner code. This year, it's currently only me though it should increase to 3 when I get last year's freshmen fully acquainted with LabVIEW. I think smaller groups = cleaner, quicker, and more efficient code. Keep version control; you don't want any difficult code you wrote to be accidentally removed.
__________________
Team 3525 Head Programmer (2014- ) - Java (Formerly LabVIEW)

Last edited by pastelpony : 13-10-2014 at 11:35.
  #6   Spotlight this post!  
Unread 13-10-2014, 11:44
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,572
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: Multiple programmers: version control or naw?

Not only do you need version control when working with many programmers, you also need a code framework that is conducive to having many people working on the code. You didn't specify what language you're using, but for C++ and Java, the Command Based framework does a good job of doing this. Other teams have created frameworks for the same purpose.

There are many other things on a robot team that can use programmers as well, so it may not be necessary to have everyone working on the robot. Dashboard, scouting and the website are things that other programmers can work on.

Last edited by Joe Ross : 13-10-2014 at 11:46.
  #7   Spotlight this post!  
Unread 13-10-2014, 11:48
faust1706's Avatar
faust1706 faust1706 is offline
Registered User
FRC #1706 (Ratchet Rockers)
Team Role: College Student
 
Join Date: Apr 2012
Rookie Year: 2011
Location: St Louis
Posts: 498
faust1706 is infamous around these partsfaust1706 is infamous around these parts
Re: Multiple programmers: version control or naw?

A big way github sponsors frc is by giving teams free repos. Use them.
__________________
"You're a gentleman," they used to say to him. "You shouldn't have gone murdering people with a hatchet; that's no occupation for a gentleman."
  #8   Spotlight this post!  
Unread 13-10-2014, 13:17
Chadfrom308's Avatar
Chadfrom308 Chadfrom308 is offline
Slave to the bot
AKA: Chad Krause
FRC #0308 (The Monsters)
Team Role: Driver
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Novi
Posts: 272
Chadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to behold
Re: Multiple programmers: version control or naw?

Github is only as good as the comments you put into them

From XKCD:


Also, Tortoise HG and Mercurial is like gitHub, but you can do code merging in this one (like 2 people work on the same code, it checks for errors, ect)
  #9   Spotlight this post!  
Unread 13-10-2014, 14:44
pyroslev's Avatar
pyroslev pyroslev is offline
VirginiaFIRST FTA
AKA: Jack of all trades, Master of few
no team (Forget not 616)
Team Role: Alumni
 
Join Date: Nov 2004
Rookie Year: 2001
Location: Virginia
Posts: 414
pyroslev is on a distinguished road
Re: Multiple programmers: version control or naw?

Quote:
Originally Posted by Chadfrom308 View Post
Github is only as good as the comments you put into them

From XKCD:
I learned this in 2008. Good comments in the code help when you do commits and your commit comments get like XKCD photo.

And by going through Github, you do your CSAs a favor. It allows us to look at the code at our leisure or link to others for troubleshooting help/highlighting coding brilliance.
__________________
"Complications arose, ensued...were overcome." "I'd trade 500 CNC machines for one good hearted student."


From December to April, since 2002, I forfeit my mental sanity for perfect insanity.

Last edited by pyroslev : 13-10-2014 at 20:58.
  #10   Spotlight this post!  
Unread 13-10-2014, 15:16
Mr V's Avatar
Mr V Mr V is offline
FIRST Senior Mentor Washington
FRC #5588 (Reign)
Team Role: Coach
 
Join Date: Feb 2011
Rookie Year: 2009
Location: Maple Valley Wa
Posts: 997
Mr V has a reputation beyond reputeMr V has a reputation beyond reputeMr V has a reputation beyond reputeMr V has a reputation beyond reputeMr V has a reputation beyond reputeMr V has a reputation beyond reputeMr V has a reputation beyond reputeMr V has a reputation beyond reputeMr V has a reputation beyond reputeMr V has a reputation beyond reputeMr V has a reputation beyond repute
Re: Multiple programmers: version control or naw?

Version control is highly recommended even with only one person doing the programing. It "bus proofs" your code.
__________________
All statements made on Chief Delphi by me are my own opinions and are not official FIRST rulings or opinions and should not be construed as such.




https://www.facebook.com/pages/Team-...77508782410839
  #11   Spotlight this post!  
Unread 13-10-2014, 15:41
MamaSpoldi's Avatar
MamaSpoldi MamaSpoldi is offline
Programming Mentor
AKA: Laura Spoldi
FRC #0230 (Gaelhawks)
Team Role: Engineer
 
Join Date: Jan 2009
Rookie Year: 2007
Location: Shelton, CT
Posts: 305
MamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant future
Re: Multiple programmers: version control or naw?

Quote:
Originally Posted by Joe Ross View Post
Not only do you need version control when working with many programmers, you also need a code framework that is conducive to having many people working on the code. You didn't specify what language you're using, but for C++ and Java, the Command Based framework does a good job of doing this. Other teams have created frameworks for the same purpose.

There are many other things on a robot team that can use programmers as well, so it may not be necessary to have everyone working on the robot. Dashboard, scouting and the website are things that other programmers can work on.
Version Control = YES, regardless of the number of programmers.

I also totally agree with Joe's comments above. We use C++ and generally start with each student programmer taking control of a single class that defines the operation of a robot mechanism. There are of course also "shared" pieces of code including the main Autonomous() and OperatorControl() functions which interact with these classes. This is a place where the version control is particularly helpful.

In addition to a formal version control system, we also make copies of the software at competitions every time the code is deployed to the robot. This ensures that there is never a question about what code is on the robot. This is particularly important if your version control relies on the internet since internet access is generally unavailable at competitions.
__________________
  #12   Spotlight this post!  
Unread 13-10-2014, 16:47
hardcopi hardcopi is offline
Registered User
AKA: Rich Lester
FRC #2959 (The Robotarians)
Team Role: Mentor
 
Join Date: Apr 2013
Rookie Year: 2013
Location: Coloma, MI
Posts: 271
hardcopi has much to be proud ofhardcopi has much to be proud ofhardcopi has much to be proud ofhardcopi has much to be proud ofhardcopi has much to be proud ofhardcopi has much to be proud ofhardcopi has much to be proud ofhardcopi has much to be proud ofhardcopi has much to be proud of
Re: Multiple programmers: version control or naw?

Yup, version control is the way to go. Github, bitbucket... whichever. I like bitbucket because they have built in issue tracking, wikipedia and a chatroom. Cost might be an issue (it is free for the first 5 users) but I haven't looked into an educational version.
  #13   Spotlight this post!  
Unread 13-10-2014, 17:34
krieck's Avatar
krieck krieck is offline
Registered User
AKA: Keith
FRC #2846 (Firebears)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Minnesota
Posts: 49
krieck is an unknown quantity at this point
Re: Multiple programmers: version control or naw?

Certainly you should use version control for all your projects.

With a lot of programmers, make sure you decompose the overall robot into a lot of decoupled modules. I highly recommend the command-based pattern for organizing the robot program, which breaks the program into separate subsystems and separate commands. You can give each subsystem to a different programmer and (hopefully) their code won't conflict with other subsystems. Later, programmers can write command classes that are (mostly) decoupled from other commands.

Also, consider programming on platforms other than the roboRIO. You can do sensor processing on Arduinos or vision processing on a Raspberry Pi, and then communicate back to the roboRIO.
  #14   Spotlight this post!  
Unread 13-10-2014, 17:44
weaversam8 weaversam8 is offline
Team Captain
AKA: Sam Weaver
FRC #4534 (Wired Wizards)
Team Role: Leadership
 
Join Date: Jan 2014
Rookie Year: 2014
Location: Wilmington, North Carolina
Posts: 137
weaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to behold
Thanks for your opinions. I was planning on doing vision on an rPI, anybody got a link to a good tutorial on that, or advice?
__________________
ORB Haow!

  #15   Spotlight this post!  
Unread 13-10-2014, 20:25
krieck's Avatar
krieck krieck is offline
Registered User
AKA: Keith
FRC #2846 (Firebears)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Minnesota
Posts: 49
krieck is an unknown quantity at this point
Re: Multiple programmers: version control or naw?

Most vision processing books are either way too simple or way too deep. I recommend Practical Computer Vision with SimpleCV, which uses a Python interface to OpenCV.

I'm not a big fan of Python, but this is the best introductory text I've seen.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 12:54.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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