The Student Room Group

Sharing code online

As part of my physics degree, I am doing a large programming project with a partner. This means that we are both working on the same piece of code, and I was wondering if anyone knew a good website that allows online coding collaboration? Something similar to ShareLatex for example would be great. We are coding in C and are currently both using CodeBlocks. Any advice would be much appreciated.
Original post by Supernovae
As part of my physics degree, I am doing a large programming project with a partner. This means that we are both working on the same piece of code, and I was wondering if anyone knew a good website that allows online coding collaboration? Something similar to ShareLatex for example would be great. We are coding in C and are currently both using CodeBlocks. Any advice would be much appreciated.

Github is the obvious answer, but I haven't used it.
Reply 2
Just so you know: Your github code will visible and editable by any Github member (on free mode).
if you want to restrict it, can afford to pay for the service.
Reply 3
Original post by felipe87
Just so you know: Your github code will visible and editable by any Github member (on free mode).
if you want to restrict it, can afford to pay for the service.

As OP is a student, the service should be free:

https://education.github.com/
Reply 4
Original post by roblee
As OP is a student, the service should be free:

https://education.github.com/

This is great!
You can use Google Docs to write collaborative works, I'm not sure if it will provide with a nice Sublime Text-like interface however. I'm sure that there is a way to make it do so with a little research however.
When I did a joint programming project for a physics module we set up a shared dropbox folder and kept my partner updated on the changes made through facebook and speaking to him in person as we lived in the same house. We were working in Java rather than C but I imagine it would still work.
Original post by Supernovae
As part of my physics degree, I am doing a large programming project with a partner. This means that we are both working on the same piece of code, and I was wondering if anyone knew a good website that allows online coding collaboration? Something similar to ShareLatex for example would be great. We are coding in C and are currently both using CodeBlocks. Any advice would be much appreciated.


As it takes time to download a text file and saving them with sensible names requires effort we used to just copy and paste the text to each other.

pastebin.com doesn't screw up any of your formatting and gives a short url you can facebook message or email to your partner.

That's what I use.
Reply 8
Original post by felipe87
Just so you know: Your github code will visible and editable by any Github member (on free mode).
if you want to restrict it, can afford to pay for the service.


Your GitHub code will absolutely not be "editable by any member."

They can fork your code (effectively taking their own copy) and change that but they absolutely cannot just change your code at will.

Unless you have a specific requirement that your code cannot be seen by anyone but you then GitHub is the answer. It is also a good idea to start using proper collaboration tools (i.e. version control systems) and Git is industry-standard. If you need private repositories, Bitbucket supports Git and offers these for free up to a certain size/number of contributors I believe.

If you are collaborating on code, please start learning to use version control systems and collaborate properly and absolutely do not start doing ridiculous things like sending code back and forth via email, pastebin or any other means.
(edited 9 years ago)
GitHub or SVN. Ignore any other suggestions that don't offer version control. I'm not saying this to be rude to the others but doing it for your own good. You're only setting yourself up to be done over if you do not use version control. Using version control will allow you to prove who wrote what piece of the code and who made certain changes and submits to the code. If you use something like Pastebin there is nothing stopping the other person claiming you did no work and he did all of it. I've seen it time and time again. Use version control and cover your own backside. Not using version control is poor practice anyway. Go with GitHub as it's easiest to learn.
Reply 10
Original post by Fidus Achates
Go with GitHub as it's easiest to learn.


I agree with the majority of your sentiment but GitHub is not a version control system, it is a web application and hosting system for Git, which is the version control system.

Git is actually one of the more complex VCS's - much more complex than SVN. It is simplified by things like the GitHub client, but such clients tend to hide away what VCS commands are actually being run, which can lead you into a world of pain if you don't actually learn the VCS properly and understand what the client (or web app) is really doing under the hood.

I prefer Git to SVN but the importance of learning it properly cannot be overstated. That said, GitHub and the GitHub client will probably see you through a small scale academic project with a couple of people.

Also, the key benefit of a VCS (aside from the obvious complete version history) is not blame but having a central version of the truth and automated merging of everyone's work. Emailing back and forth and saying "update your thing with this bit that I wrote please" is a completely infeasible recipe for disaster. Imagine having a team of 10 devs each churning out 5,000+ lines of code a day and having to email each other with every little change. Doesn't work.
(edited 9 years ago)
Original post by Planto
I agree with the majority of your sentiment but GitHub is not a version control system, it is a web application and hosting system for Git, which is the version control system.

Git is actually one of the more complex VCS's - much more complex than SVN. It is simplified by things like the GitHub client, but such clients tend to hide away what VCS commands are actually being run, which can lead you into a world of pain if you don't actually learn the VCS properly.

I prefer Git to SVN but the importance of learning it properly cannot be overstated. That said, GitHub and the GitHub client will probably see you through a small scale academic project with a couple of people.

Also, the key benefit of a VCS (aside from the obvious complete version history) is not blame but having a central version of the truth and automated merging of everyone's work. Emailing back and forth and saying "update your thing with this bit that I wrote please" is a completely infeasible recipe for disaster. Imagine having a team of 10 devs each churning out 5,000+ lines of code a day and having to email each other with every little change. Doesn't work.


Oh yeah, I agree with you there and know fully well as i use both of them on a regular basis. However, I was just trying to put it across in layman's terms for the OP to ensure they understood without getting too technical.

I know Git and SVN and use both from the command line but I don't expect the person in this thread to be able to do that which is why I simplified it. I agree there is a slight misconception that can be drawn from what I said but of course, if they have any desire to do further research they'll iron them out regardless.
To be honest I work almost exclusively on GitHub these days. You get 5 free private repos as a student which is enough to swap things in and out, and I'm more confident in their backup systems than those of my VPS.

Quick Reply

Latest

Trending

Trending