5 Predictions of what Data Scientists can expect
Version Control is a pretty boring topic for most people but for coders and researchers, it’s imperative to understand. The importance of version control is really understood when you work in a big team working on a big project. With multiple users working on the same files at the same time, it’s a crowd you’re trying to control and ensuring that they’re all working towards the same goal.
As we know it today, version control plays an integral part in our coding ecosystem and in all honesty, a lot of people are generally happy with it. I mean there are kinks and quirks that we could improve on but the fact that nearly every single coding team I’ve been part of uses
git — that says something.
Given its widespread and integral use in the coding society and how the sphere of coding and technology has changed so much since 2005, the following are my top predictions as to how
git will improve in the coming decade.
Prediction 1: GIT GOES USER FRIENDLY
My first prediction is going to be short and sweet. Beginners always struggle to learn
git. Even people who’ve known
git for 5 years+ still mess up in rebasing or changing branches and lose work along the way.
I’ll be honest, I’ve been using source control systems for almost 10 years and I only became comfortable with using
PyCharm. It’s embarrassing but true. Without my
DevOps team at the moment, I’d be lost.
Prediction 2: GIT GOES REAL TIME
The fact that git can tell you who has made what change is both a good and a bad thing. It’s good because it tells you who has done what (well, that is its purpose after all), but, it doesn’t tell you who is working on what at any point in time.
Generally speaking that isn’t a problem but often two coders can be working on the same file at the same time and this may not be a big problem, though, it would be useful to know if the functional changes that both coders are making on the same file will interfere with each other — so they don’t have to go through the awkward dance of merging their commits. It’d certainly be helpful to know if another coder is working on the same file as you, and on which branch.
Prediction 3: GIT GOES CONNECTED
Why do we do
git fetch still? Why do we do
git pull still? There has to be a better way.
It’s second nature for coders who actively work in a shared environment to update their repository frequently during the day but for those of us who sit in a research role or a quasi-coding position, it’s considered ‘good practise’ to update your branch regularly: but what is ‘good practise’?
In reality, it means to update it as often as the core developers would, but for those of less well read into DevOps, shouldn’t GIT take this into account? Shouldn’t it say “Hey, this code (or your project) has changed considerably, you should definitely refresh your project”? Wouldn’t that be helpful?
Prediction 4: GIT GOES DIRTY
A piece of code can be considered dirty if it’s not committed. Code which isn’t committed can often fall between the cracks if the computer shuts down or a session ends before you stash it or commit it — as it isn’t really saved anywhere but locally.
However, sometimes you don’t want to commit code because you’re not finished, and you really want to go get your lunch. What would your commit code read?
I guess this is what stashing is good for but it’d be great if
git had a dirty mode, which you could switch on and it would auto-stash every few minutes to ensure that any faults in your local system were completely covered.
Prediction 5: GIT GOES AI COMMIT MESSAGE
Let’s be honest — there’s an art to writing commit messages and I have not mastered this art at all. I’m really, really bad at them.
I’m in two minds about this because I love reading awful commit messages but wouldn’t it be awesome if you didn’t have to write commit messages, and rather, the engine could determine what change you made and leave the notes instead?
For one, it’d probably be more informative and also it’d probably be more transparent. Further, the coder may even realise issues if the commit message has a different message to what he was expecting.
Predicting the future of
git is hard because in reality, who knows what it’s going to look like. It already does a pretty good job and despite the complaints on the internet about all its faults, there aren’t that many real competitors.
Tides are changing and people are starting to look more towards
CICD frameworks, where the repository plays an integral role and given that, I expect a lot of improvements to come our way.
Especially with everyone in lock down, what else do we have to think about?
Thanks for reading again!! Let me know if you have any questions and I’ll be happy to help.
Keep up to date with my latest work here!