When to use github?

Hello everyone…

I actually introduced myself here in this forum yesterday…
I was wondering, as a beginner who just started learning python 4 months ago, when should i start using git and github??
I’ve googled this out and it seems people have different says on this topic…
Should I start using it now as a beginner or wait till i reach the intermediate level in python…
I felt tgis

Sooner is better in my opinion. There are two reasons:

First, there’s no clear line between beginner and intermediate. There’s no governing body handing out journeyman cards or whatever, so if you wait for this “intermediate” status, you might be waiting a pretty long time. For instance, I’ve written device drivers, high performance file systems, and distributed computing libraries in C; machine learning systems in Java and Matlab; and distributed virtual environments, distributed system simulations, and genetic algorithms in C++. All that to say I’ve no idea where I sit on the beginner->intermediate->expert spectrum. There are certainly people who know more about each of those subjects and languages than me.

Secondly, and more importantly, a revision control system is going to make developing code much easier. It could (should?) be git, but it can also be a similar tool (anyone else remember RCS?). Here’s why – in the course of development, you’re going to make destructive changes to your code that you want to recover. You can either descend into the hell of weirdly named and proliferated files to keep track of revisions (e.g., foo.js, foo1.js, foo.js.old, foo1.js.old.new```, etc) and try to manage everything yourself, or you can let the computer do it.

The computer is much better at it. And there are obvious benefits to revision control systems when working in a team and when they’re connected to a larger build process. But the benefits outweigh the costs of learning even for a single developer who will only use the revision and history features.

Personally, I check code into git after every significant change – about every 10 lines or so. That backstops any errors I might make (either logical or typo) and ensures I can recover easily.

jrm

2 Likes

Now.

Git and github are actually different things. Git is the version control software; github is the site and company that uses git to host repositories online and make money. You can use both or either.

You need a version control system, and now you really should use git as it has essentially squeezed out usage of the alternatives, often for good reason. You can’t really get a job or interact as a developer without using some version control system and almost everyone uses or is familiar with git.

You should start now because even in the beginning, you will create a working piece of software and then want to change it. As you change it, you stand a good chance of breaking it. Git lets you work on “branches” of the software which allow you to make changes, but if you break everything you can just trash the branch and start over and your working code is not changed. You can do this other ways (backups, etc.), but git makes it easy.

There are tons of other things it can do, but in the beginning the best feature is being able to experiment without worrying that you will break what already works.

2 Likes

I agree that you should start your github account and start saving code there. It gets you used the the basics of git and gets you a presence on github - some interviewers take a look at that. As pointed out, git does a lot more complicated (and important) stuff than that, but it’s a start.

1 Like

Thanks …
Do you have any good resource, whether a youtube link or otherwise that i can use to learn git and github…
If possible ,a youtube video that explains git and github from the scratch as though it were a beginner learning…
The videos i’ve managed to see on youtube is not really sticking into my mind…

I regret i didnt pick it up earlier as i need to use it now along git terminal and its hard to wrap your head around something new in short time

Yea, just google it. It’s not that hard to learn basics. Later, when you start working with other people - that can get a little weird. But a few youtube videos should get you started on the basics and some basic theory.

I see you know a lot about C
I am an Animal Science student and started venturing into programming
I decided to learn C as my first programming language (I am probably wrong for doing this according to people) but am very much interested in finishing what I’ve started
Currently, am stuck in where seems to be pretty easy and straightforward; Functions
I am stuck at understanding functions: how variables from the main function are assigned to the parameters of a called function, then assigned into the variables in the function itself

I don’t know if my question is reasonable enough. It’s hard for me to even understand what am asking but I hope if you do, you can help me with some explanations

If you have specific code you are working on with this question, it’s best to start a new thread and ask them there. There are a couple of us who know C well and some of what you are asking is language agnostic.

Oh okay. Let me create a thread

I don’t have specific resources off-hand. I will say the github docs are pretty good. I’d start there. Otherwise, google.

The basics aren’t hard to pick up. Init a repository, start writing code, and check in frequently. Most IDEs understand git so this is mostly a point-and-click affair.

jrm

1 Like