We Need To Stop Lying About Git

  Рет қаралды 83,271

Theo - t3․gg

Theo - t3․gg

23 күн бұрын

I really didn't mean to start this one again. Ugh. Every person who wants a job in code should probably know git. I hate that this is controversial. Computer Science doesn't need to teach it, but when you get you degree, you better know git.
SOURCES
x.com/t3dotgg/status/18019020...
x.com/t3dotgg/status/18023708...
Check out my Twitch, Twitter, Discord more at t3.gg
S/O Ph4se0n3 for the awesome edit 🙏

Пікірлер: 1 000
@ciarancurley5482
@ciarancurley5482 21 күн бұрын
You learn a lot about dev just being a teenager determined not to pay for stuff.
@haleemhawkins8112
@haleemhawkins8112 21 күн бұрын
Golden take right here👏🏾. I’m convinced that my first psp jailbreak turned me into the software engineer I am today
@TomRaine
@TomRaine 21 күн бұрын
This is so true, our store POS sucks so now I’m thinking if I can build one.
@mkabilly
@mkabilly 20 күн бұрын
Oh god, definitely. PSP & Wii jailbreaking, hacks for some pay to win games, and constantly getting second hand tech definitely got me here.
@botobeni
@botobeni 20 күн бұрын
yoo true, happened to me
@kendlemintjed7571
@kendlemintjed7571 20 күн бұрын
story of my life
@LetterlessAlphabet
@LetterlessAlphabet 21 күн бұрын
Learn git in 2 seconds: init, add it, commit, push it, pull it, fetch it, merge it, rebase, harder, better, faster, stronger.
@darkwraithcovenantindustries
@darkwraithcovenantindustries 20 күн бұрын
git-o-logic
@kieranhosty
@kieranhosty 19 күн бұрын
git-o-logic
@ImperiumLibertas
@ImperiumLibertas 18 күн бұрын
Imao I was so lost reading "harder better faster stronger." I thought these were new elusive commands I was unaware of. You did forget bisect 😉
@LetterlessAlphabet
@LetterlessAlphabet 17 күн бұрын
@@ImperiumLibertas never needed it lol
@blarghblargh
@blarghblargh 11 күн бұрын
@@LetterlessAlphabet bisect is a good and important tool and you should learn how to use it. you may only use it once every year, but when it's the right tool for the job you'll be glad you had it. knowing the commit that introduced a bug can make some bugs absolutely trivial that'd otherwise stick around a lot longer.
@TJChallstrom916-512
@TJChallstrom916-512 21 күн бұрын
Also, can we get a round of applause for the dude who willingly posted that he knew nothing so he could stop knowing nothing.
@Rudxain
@Rudxain 8 күн бұрын
The wisest people are the ones who are humble enough to admit ignorance
@johngagon
@johngagon 3 күн бұрын
* applauses in lisp *
@ericng8807
@ericng8807 21 күн бұрын
I hate how this was more controversial than your unit testing take
@leoaldamas
@leoaldamas 21 күн бұрын
🤣
@bentruyman5077
@bentruyman5077 21 күн бұрын
I disagree with a bunch of Theo's takes. I agree, this ain't one of them.
@SamOween
@SamOween 21 күн бұрын
Agree. This is one of the most solid Theo takes ever
@ravenecho2410
@ravenecho2410 21 күн бұрын
Knowing what a file is, a bit harder than he makes it sound, i nodes, pointers, pages, is a directory a dictionary or an array? Is all memory stored in a file, is it continuous? Whats a file encoding? Whats a binary, whats an exexutable? Complilation, sym links, elfs, exe, ... .vim... Is everything a file? Is terminal just a tail, is cli just a file which is being written?
@burger-se1er
@burger-se1er 21 күн бұрын
​@@ravenecho2410 At 9:57 he was talking about `cd` and `ls`, not inodes and utf-16.
@tato-chip7612
@tato-chip7612 21 күн бұрын
Every time I say things to my friend like. "Bro you're about to finish uni. Learn how to use Git and all projects out there use git." He tells me to stop gatekeeping. My brother in Christ you can't just be running around with Google drive shares files!
@quinnherden
@quinnherden 20 күн бұрын
why do they think that's gatekeeping?
@sub-harmonik
@sub-harmonik 20 күн бұрын
'you need to learn programming to get a programming job' 'bro stop gatekeeping'
@rogergalindo7318
@rogergalindo7318 19 күн бұрын
gold comment lol
@ImperiumLibertas
@ImperiumLibertas 18 күн бұрын
It's always comical when the "more than one way to solve a problem" argument is used to avoid having to learn a tool that is objectively more fit for the job.
@hevad
@hevad 17 күн бұрын
Google shared files is what kids use these days not to use source control? In my days we would email our files to each other
@Sammysapphira
@Sammysapphira 21 күн бұрын
I've experienced collaborating with people that don't know git, let alone know git etiquette. It was utterly miserable. People think git is just committing and force merging; it's not... The amount of times I had to remind them to pull down updated code made my head spin. We would frequently get multiple-day-old pull requests with dozens and dozens and dozens of conflicts because they never pulled down main, essentially forcing us to copy paste their functions and modifications manually due to the sheer amount of multi-file dependency changes happening. Then, once main is all caught up, and we told them to pull it down locally, *they didn't*
@ronelm2000
@ronelm2000 21 күн бұрын
Maybe version control should be a curriculum module after all. Not git, but VCS in general, in the same vein as Operating Systems being a thing.
@dputra
@dputra 21 күн бұрын
I think we need to build an extension in vscode to give a bright big red box when they haven't pulled down git changes 😂
@ShootingUtah
@ShootingUtah 21 күн бұрын
How did someone go through the pain of multiple merge conflicts and NOT remember to pull the next time! I thought that was like burning your hand on a hot stove! You only do it once!
@Daniel_WR_Hart
@Daniel_WR_Hart 21 күн бұрын
It's also easier to see the history of the project when every commit message is short and perfectly describes what changed
@Renoistic
@Renoistic 21 күн бұрын
Git etiquette is the big one for me. You can teach people eventually but the road there is painful.
@CaptainToadUK
@CaptainToadUK 20 күн бұрын
The reason, largely, that universities don't do the whole "submit your assignments using Git, this course uses Git" is because lecturers, by-and-large have not learned to use it and don't want to
@borstenpinsel
@borstenpinsel 4 күн бұрын
They wrote their own Programm in perl in 1993
@CaptainToadUK
@CaptainToadUK 4 күн бұрын
@@borstenpinsel yep. Nailed it! 😜
@artrix909
@artrix909 21 күн бұрын
Wait... people get hired without knowing git?
@LiveType
@LiveType 21 күн бұрын
Nobody is getting hired without knowing version control. Not in the current day
@bentruyman5077
@bentruyman5077 21 күн бұрын
What's funny about this whole thing is the people disagreeing with Theo likely already know git, they're just complaining because *they* think knowing how a VCS works isn't table-stakes for a typical dev job, which it obviously is.
@emeraldbonsai
@emeraldbonsai 21 күн бұрын
@@LiveType Depends some schools essentially act as feeders for companies so like one place i was at i had to baby sit all the new people and get them up to speed. with how everything actually works and alot of times even teach them the actual language they are going to use. its not super common but ive been at a few companies that have like entire infrastructure and staff and its essentially built to get people trained up asap. Why im not sure my main guess is just cheap labour though in the end with stacks being so different company to company training a newbie and training some one several years in isnt always that diff in some ways its nicer cause you dont have to unteach things
@froxx93
@froxx93 21 күн бұрын
I actually did. But that was in 2016. Today I wouldn't hire anyone without it too
@mascot4950
@mascot4950 21 күн бұрын
@@LiveType Nobody will _stay_ hired without following the company's version control routines, but version control is so company specific that it's a training thing regardless, making it fairly irrelevant as a hiring guide.
@MrDaAsif
@MrDaAsif 21 күн бұрын
"you know you're the exception why are you even part of this discussion" Man so many internet discourses always have the person who knows they're the exception lmao
@nctay
@nctay 21 күн бұрын
This whole git conversation is driven by attention seeking “exception”.
@ludamillion
@ludamillion 20 күн бұрын
Yup, they know they are the exception and they think that it makes them exceptional.
@thekwoka4707
@thekwoka4707 20 күн бұрын
@@nctay but none are actually exceptions
@boreddad420
@boreddad420 21 күн бұрын
0:42 "1 also Adobe is evil" from chatter is so based
@Turalcar
@Turalcar 9 күн бұрын
Adobe delenda est
@MichaelSchuerig
@MichaelSchuerig 21 күн бұрын
Learning the basics of git takes a day. Learning to write good commit messages takes a lifetime.
@kingxerjsaeg
@kingxerjsaeg 9 күн бұрын
"Update for today's work"
@v0id_d3m0n
@v0id_d3m0n 8 күн бұрын
See conventional commits
@yoyobeerman1289
@yoyobeerman1289 7 күн бұрын
"It doesn't compile anymore" "It compiles again"
@Trafulgoth
@Trafulgoth Күн бұрын
"Fixed bug in the code"
@funkenjoyer
@funkenjoyer 21 күн бұрын
After using git for just few years im genuinely baffled how dafuq any1 gets anything done without vcs
@BittermanAndy
@BittermanAndy 19 күн бұрын
vcs != git.
@dloorkour1256
@dloorkour1256 16 күн бұрын
@@BittermanAndy I think a generic "version control system" was meant. I agree, it's a must have.
@diamondman4252
@diamondman4252 Күн бұрын
Git is my vcs of choice, but there are valid use cases for other systems so I am not a purist. As to how people get things done without vcs... they don't really, they just think they do. Everyone else sees main_project_final_final_last_fixed_issues_2024_may_final.c and takes a deep breath.
@lunalangton5776
@lunalangton5776 21 күн бұрын
Y'know part of the reason I dropped out is because my uni was a degree mill and everyone was there to "get a programming job", and the result was a constant dumbing down of the education to turn what was a respectable theoretical field into a very expensive coding bootcamp. I was there to actually advance the field. I wanted to actually study Computer Science. The fact that people are going to uni and NOT LEARNING COMPUTER SCIENCE is much more alarming than that they don't know git. They should know how to make git from first principles, and then it wouldn't take more than a moment to learn it.
@duven60
@duven60 21 күн бұрын
From first principles seems a little much, but I would expect an exam question on "what are the limitations and shortfalls of the current industry standard source control, and how would you architect an alternative that addresses those issues?".
@lunalangton5776
@lunalangton5776 21 күн бұрын
@@duven60 Sorry, maybe exaggerating a little. I don't mean they should actually go and re-implement git - I mean the way it works should be pretty obvious to someone who understands computer science. Also, I don't want to hear "industry" mentioned in the school I'm paying for, ever. Again, I'm not there for a coding bootcamp. Employers should be paying to educate worker drones if that's the goal. Seriously, why are we volunteering to PAY to be taught only how to be worker drones? I'm probably not Theo's main demographic, I'm actually not interested in writing the same program over and over for a different corporation with a different framework. I don't want to hear about some bullshit "development methodology" some suits have come up with to make developers seem like they're being more productive in a business environment. I actually gave a shit about *computer science*. "Industry" is a dumpster fire. Why Hapsburg your education like that, by encouraging people to do what is already done? We're supposed to build the future - but NOT for "industry" - for the world! I do acknowledge your question says to improve on things, but, again, I'm not a servant of industry. Love y'all tech workers btw, but hate the game you're playing.
@urisinger3412
@urisinger3412 21 күн бұрын
this is why i'm rethinking my choice to major in cs, cs classes are becoming glorified bootcamps. people need to distinguish between computer scientists and software engineers, just like we distinguish between electrical engineers and electricians.
@lunalangton5776
@lunalangton5776 21 күн бұрын
@@urisinger3412 Most importantly, our degrees should not just be gift wrap that WE pay for when OUR LIVES are gifted to "industry". When people say "university should prepare you for industry", put on your They Live glasses, they are really saying "employees should pay for their own training". No! We should be very fucking mad about it.
@lunalangton5776
@lunalangton5776 21 күн бұрын
After re-reading my own comment I just want to add on a little clarification here, in case anyone thinks my "dumbing down" thing is about software engineers being dumber than computer scientists. That's not what I meant at all. The reason they're dumbing things down is to pump out grads, regardless of competence, to drive down programmer wages. They call it "streamlining" what is taught - but what that means is, you still pay the same amount for your degree, but they put less useful information in your brain. We're being robbed in broad daylight. I'm not mad at anyone in this thread but I am really furious about this issue. The world is being made dumber just so that employers don't have to pay for training AND can pay lower wages. Then some of our own, ENCOURAGE THIS?! It boggles the mind. If "software engineer" should be a separate field, industry should be fully responsible for their training. Otherwise, uni should teach just PURE computer science, and force employers to provide employment training. Boycott any uni that's focused on "preparing for industry". In general, tech workers need to learn to organize their labour and force change against shit like this.
@mattilindstrom
@mattilindstrom 21 күн бұрын
I'm not a software engineer, I'm a f-ing physicist. I find a well set up git to be easy and stress free. If I ever got into a situation I couldn't get myself out of, all I had to do is ask from the people who know, and after a single command I was in the clear.
@diamondman4252
@diamondman4252 Күн бұрын
If you are a physicist, I bet you have used LaTeX. I consider git substantially easier to get the hang of than LaTeX. That being said, if you don't use LaTeX, I highly recommend you do. I don't use it much, but my physicist friends refuse to use anything else for preparing documents.
@xc13z829
@xc13z829 21 күн бұрын
As a former teacher, I can tell you: if there is something a student SHOULD know, you have to teach it to them. You can't HOPE they will, you can't make it optional. If students need it, they need to be taught it.
@KnumNegm
@KnumNegm 21 күн бұрын
That's sad man.
@SnowTheParrot
@SnowTheParrot 21 күн бұрын
for high school, totally. once you get into Uni though, (especially for CS), if youre not self learning, you probably wont make it far.
@flyingmadpakke
@flyingmadpakke 21 күн бұрын
Sounds like a cultural thing. I have been grateful for the "hands off" approach I have experienced throughout the educational institutions I went to. They even let me take an exam in quantum computing despite it not being part of the curriculum in any way.
@JakobRossner-qj1wo
@JakobRossner-qj1wo 21 күн бұрын
But if I can see that someone can learn by himselve than he is way more hireable for me.
@Echa37-H37
@Echa37-H37 21 күн бұрын
I'm currently working as a lecturer's assistant. College students would not look things up outside of those that are explicitly taught in class, minus a few outliers. There are times when I teach in class where I told them "there are a lot more to find out by looking at the documentation" and 9/10 they'll not open it. Git is mentioned in passing in class in hopes they'll go figure it out, but that's not how the college student's mind works at least here.
@dyto2287
@dyto2287 21 күн бұрын
One year we took bunch of students from local university to teach them some practical skills one day per week at our company. My coworker who was in charge to teach them had a meltdown over their Git knowledge. We though we would offer internship or junior position for some of them but out of 20 of them noone was hirable.
@proosee
@proosee 20 күн бұрын
My colleague had similar experience - they were conducting some kind of internship/course for students from local university and numbers of rants I've heard about them unable to comprehend to use separate branches was over 9000
@firstlast-tf3fq
@firstlast-tf3fq 21 күн бұрын
“You must submit this assignment in the form of a git repository”: then let them go work it out. University students should be expected to teach themselves simple stuff like this. Problem sorted.
@chris52000
@chris52000 20 күн бұрын
I also went to RPI like Theo and just graduated a year ago. We had a class where all of our assignments must be submitted by pushing to a git repo
@moonasha
@moonasha 20 күн бұрын
the amount of people who can't learn things on their own and seem to require constant hand holding is really disturbing. Our middle and highschools are failing to teach kids how to be self sufficient
@firstlast-tf3fq
@firstlast-tf3fq 20 күн бұрын
@@moonasha then they shouldn’t get a degree and shouldn’t be able to get through university. You don’t get taught at uni, you attend lectures: the actual learning is your responsibility
@dudaseifert
@dudaseifert 10 күн бұрын
I'm in favor of this, but it doesn't hurt to add a link "you can learn how to do this here".
@firstlast-tf3fq
@firstlast-tf3fq 10 күн бұрын
@@dudaseifert oh sure
@RuySenpai
@RuySenpai 21 күн бұрын
In my freshman year of CS my school called everyone for a 2 week course of basic git and linux CLI, I rarely ever use more from git that wasn't seen on that course, it takes less than 2 weeks to learn and everyone should know how to use version control
@SahilP2648
@SahilP2648 21 күн бұрын
git takes less than a day to learn and use, but videos on YT are all crap. I should maybe create one which would be above anything else.
@paultapping9510
@paultapping9510 21 күн бұрын
​@@SahilP2648for you and your 32 subs 😂
@quinnherden
@quinnherden 20 күн бұрын
​@@paultapping9510Nobody starts with subs 🙄
@SahilP2648
@SahilP2648 20 күн бұрын
@@paultapping9510 if I do, it would be more for people on YT searching about git in the future, I won't be doing it for my subscribers genius. I just don't think my video would get popular since YT favors creators which are already well established.
@keffbarn
@keffbarn 21 күн бұрын
Git isnt that trivial to learn and has a bunch if concepts thats absolutley worthy of a CS class. There is a big difference knowing just a few commands to actually knowing it and what each operation does and how to apply them. If they teach sql and c++, then there is really no argument for not teaching git
@asagiai4965
@asagiai4965 21 күн бұрын
Technically they can. My question now is, if they have to teach you everything you need to know, how long will a cs degree be?
@mkabilly
@mkabilly 20 күн бұрын
I had multiple semesters on Graph-related things. I'm sure at least a couple classes from any of those courses could've gone a bit more in depth into Git.
@Salantor
@Salantor 20 күн бұрын
But you don't really need to know how Git works under the hood. Basic commands and a flow respected by the entire team should be more than enough.
@ludamillion
@ludamillion 20 күн бұрын
@@Salantor Exactly, the theory and internals behind Git are fascinating and could certainly fill multiple semesters. But I've been in the field for over a decade at this point and probably 95% of my git usage it made up of the basics that I learned on my own in my first 'serious' programming course so that I didn't have to worry about shooting myself in the foot. When people say 'learn git' they mean learn the basics of how to use the tool. They don't mean know how every last piece of it works and the CS theory behind it. I know how to drive a car. I know that it needs full, I know that it can't float, can't fly, and if I'm going fast it'll take longer to stop. Do I know how the engine works? Not really, a few fairly shallow concepts yes but not the details.
@morosis82
@morosis82 20 күн бұрын
​@@ludamillionyes, taking students through creating a feature branch, making changes and merging it back to a repo with a CICD loop that will fail when they've neglected the tests would be a great way to start. Explain then all the issues and why they exist, then how to do it the right way. Doesn't need to be git, in fact it's probably best to try at least a couple so they can see different approaches (mercurial or even svn as while it's out of date I think there's still a bunch of stuff using it).
@ivanfilhoz
@ivanfilhoz 20 күн бұрын
These guys be like: a hammer is just a tool, people don’t need to learn how to use a hammer to build stuff. They’ve learned basic physics, so they should be able to apply the same principles. There’s no need to teach that.
@gardnmi
@gardnmi 21 күн бұрын
I couldn't imagine working on a software project without a version control tool like git.
@user-in2cs1vp6o
@user-in2cs1vp6o 21 күн бұрын
I save all my projects in seperate and individual Google drive accounts
@user-nr4ju3qd9o
@user-nr4ju3qd9o 21 күн бұрын
@@user-in2cs1vp6o what the fuck is wrong with you
@nicejungle
@nicejungle 21 күн бұрын
Me neither. It's just insane
@JoshPeterson
@JoshPeterson 21 күн бұрын
I've lost track of amount of times git has saved my ass. Just being able to restore to previous versions that worked after fucking up your code beyond repair has been a life saver. I learned early on the hard way how much of a pain in the ass coding can be without it. Every time I start a new project, I immediately git init.
@moonasha
@moonasha 20 күн бұрын
@@JoshPeterson it doesn't just save your butt, it let's you experiment in ways you normally wouldn't. Let's you full send a refactor even if there's a chance you might fubar everything
@bentruyman5077
@bentruyman5077 21 күн бұрын
It is wild to me that programmers are even debating the utility of understanding version control. This is a good take, Theo.
21 күн бұрын
In my college we dont learn git, they're teaching us how to use FileZilla FTP instead. We also never used an IDE for coding, they have us use Notepad++ instead. My school grand valley state university is 20 years behind industry standard, we're using VB script as the main programming language... We're graduating without actually knowing how to use professional development programs, and people here are thinking this is how it's actually done...
@BittermanAndy
@BittermanAndy 19 күн бұрын
Version control != Git.
@BrooksMoses
@BrooksMoses 8 күн бұрын
@@BittermanAndy : Absolutely. I got several programming jobs without knowing git because git was not at all a thing when i was first hired, and was only barely a thing the second time around. But I was completely competent with SVN, which is what was the open-source industry standard at the time.
@advertslaxxor
@advertslaxxor 21 күн бұрын
Here is my take: There is an abundance of people taking CS degrees *to get a job*. They have next to zero passion, and will not touch code outside of work/study. "Computer Science"/programming is one of the few professions where you gain real experience from having it as a hobby, too.
@elorrambasdo5233
@elorrambasdo5233 20 күн бұрын
I love programming. I spend hours every day after work working on my personal project. I talk about it all the time to everyone. I never used git in college. People don’t know what they are supposed to know, that’s why they go to get taught. If they don’t get taught something, how are they supposed to know to learn it?
@proosee
@proosee 20 күн бұрын
Higher education is not some elementary school - you can't have such approach not only in computer science but in any other field - imagine doctor that doesn't read about new studies and drugs and still use medical procedures from 1980 - that's insane.
@moonasha
@moonasha 20 күн бұрын
@@elorrambasdo5233 I found git outside of school specifically because I was working on a project. I didn't want to keep coding if I couldn't safely back it up and have the ability to undo changes. I think if you don't seek version control, you aren't coding something you find valuable. "If they don't get taught something how are they supposed to learn it" If you require a teacher to learn new things you are a useless person
@kingxerjsaeg
@kingxerjsaeg 9 күн бұрын
​@@prooseeI think they meant one of higher education's absolutely inexorable purposes is to give you a framework of "to know what it is that you have to know". Not to fill your carts with all the knowledge, or to push/pull them for you, but to teach you which are the tracks of the field and how to tell them apart from the landscape of ignorance. Understandable?
@proosee
@proosee 9 күн бұрын
@@kingxerjsaeg that's my point - if someone is not showing any signs of exploring on his own then I don't hire such person, even if he has prestigious diploma. Period. But you can have your own rules.
@hatter1290
@hatter1290 21 күн бұрын
Git has some interesting internals. I feel like you could learn many useful things from that as part of a C.S. degree.
@nicejungle
@nicejungle 21 күн бұрын
agree. DAG for example
@luuc
@luuc 20 күн бұрын
I believe it would, for sure, be interesting as a case study as part of a larger course (e.g. software engineering class or a DSA course)
@hatter1290
@hatter1290 20 күн бұрын
@@nicejungle And specifically a Merkle DAG
@SJohnTrombley
@SJohnTrombley 20 күн бұрын
I think Prime's take on this is correct. There should be a class called "Version Control" where you learn about various version control tools and how they're implemented, then have to create your own version control tool as a final project.
@proosee
@proosee 20 күн бұрын
You can make argument like that about other software - that's somehow beyond the point of the video, because Git status in software engineering shouldn't be the reason to learn its internals as a part of CS degree (compared to other pieces of software).
@harrytsang1501
@harrytsang1501 21 күн бұрын
The sad thing is, version control is not extensively taught in university level CS major. Yes it is taught, but no you can totally pass the software engineering course without truly understanding it. Most students view it as hurdles rather than a useful tools.
@daven9536
@daven9536 21 күн бұрын
That's because it is. In a typical course assignment the scope is fairly limited and you only ever move forward and have very little use for version control.
@enginerdy
@enginerdy 20 күн бұрын
That’s many, many things though. You don’t get expertise with any undergrad degree, you get the foundation to acquire expertise.
@marcuss.abildskov7175
@marcuss.abildskov7175 20 күн бұрын
Why does something have to be taught? I swear students are fucking lazy. Go fucking learn it yourself
@avarise5607
@avarise5607 18 күн бұрын
I'm sorry but if writing git commit and git push is too much for you, I can assume you won't put any thought into actual problems
@daven9536
@daven9536 17 күн бұрын
@@avarise5607 If all you ever did was type git commit and git push, I can assume your empty repository didn't pass the course
@elliottmarshall1424
@elliottmarshall1424 21 күн бұрын
Git should be how you submit assignments, Im shocked that this isn’t the norm
@duven60
@duven60 21 күн бұрын
@dstick14 for what the law currently is at least, every bill a pull request.
@TheKastellan
@TheKastellan 21 күн бұрын
This might be an America thing because I can guarantee at least in my university we use gitlab so this video confuses me to no end.
@urisinger3412
@urisinger3412 21 күн бұрын
Tracking issue for gay rights​@dstick14
@ludamillion
@ludamillion 20 күн бұрын
I went to a community college over a decade ago and this was how we did things in many of my classes. I've always assumed that it was because a lot of the professors there either still worked in the field as engineers or at least manager or had recently retired so they just kept using the cools for the courses they taught that they used at work all the time. There's no good excuse not to.
@briankarcher8338
@briankarcher8338 17 күн бұрын
Until you find the person who learned how to fork a branch.
@danmerillat
@danmerillat 17 күн бұрын
I agree with everything except "knowing other version control isn't good enough". The basic git you're saying people should know is just "commit your files regularly and push" and it doesn't matter if you know CVS, RCS, Subversion or mercurial: you understand "commit files and share" and can use different commands/hotkeys for that. Knowing how to manage branch merges, rebasing, squashing... that's advanced version control and I've found very few people actually really understand that beyond "google snack overflow, cut & paste the commands you find there"
@br3nto
@br3nto 21 күн бұрын
1:37 students don’t just magically start using things. VSCs are one of the primary tools of our trade. At the very least, VCSs need to be introduce to students, and explained their purpose and why they are important. VCSs should be part of the 101 curriculum, and should then be extensively used throughout a degree. Students should be industry ready… it’s one of the primary reasons for higher education... standardised industry ready training.
@bryanenglish7841
@bryanenglish7841 21 күн бұрын
I've interviewed at plenty of companies and they've never asked me a single Git question, yet it's incredibly important to my day to day work. I have been asked plenty of nonsense algorithm questions that I never use. Perhaps there is a system of perverse incentives afoot?! HMMMM THEO?!?!
@henryvaneyk3769
@henryvaneyk3769 20 күн бұрын
When you apply for a job at our company you need to do a small project and supply the solution in a GIT repo.
@briankarcher8338
@briankarcher8338 17 күн бұрын
You're expected to know Git these days. It entered the "why ask?" territory years ago.
@themoderncoder
@themoderncoder 21 күн бұрын
This is basically the motivation behind most of the videos on my channel. As a former software engineer and people manager in tech, I’ve never seen a more important, yet under taught, daily skill than Git.
@theMadZakuPilot
@theMadZakuPilot 21 күн бұрын
I absolutely love your git videos. please keep making them
@harshmpatil
@harshmpatil 21 күн бұрын
I wish I could control my life through version control.
@akam9919
@akam9919 21 күн бұрын
Theo: "If you don't know how to use an ide" that one guy with tmux+nano+and shit ton of terminal windows: "I'm offended!"
@MisterFaucker
@MisterFaucker 21 күн бұрын
Alacritty+tmux+editor is win
@lukeskywalker7029
@lukeskywalker7029 21 күн бұрын
tmux + nano ? Really people use that for development? Not NeoVim or Emacs? :D
@jahinzee
@jahinzee 21 күн бұрын
**neovim
@AndrewTSq
@AndrewTSq 21 күн бұрын
@@lukeskywalker7029 I could not be bothered with that yesterday, so I just added color highlighting to js-files in nano. You can also make scripts for jslint, but ofcourse its not as good as neovim or emacs lol, but its a small editor and easy to work with in those cases you only need to change a line.
@GreenJalapenjo
@GreenJalapenjo 21 күн бұрын
I mean he was pretty clear that he doesn't strictly mean "IDE" by how he uses VS Code as the example and Notepad as the counter-example. I think "IDE" is to be read as "decent development environment", not "Eclipse or Visual Studio".
@krank23
@krank23 21 күн бұрын
I'm a programming teacher for (roughly equivalent to) high school students, and I force my students to use git. They don't have to type the commands - using vs code's interface for initializing, adding gitignores and committing/pushing is fine. They need to know the basic vocabulary and concepts, and frequent git commits during projects is a requirements for higher grades (if nothing else because it discourages cheating). If they ever need to use raw git commands, they'll have the mental structure ready, and will just need to connect commands to concepts they already know. I don't always get into branching, pull requests etc, but… they're high school students mostly working on personal projects. If they ned more advanced concepts, they'll be able to learn them as they go.
@EmperorFool
@EmperorFool 21 күн бұрын
I used a graphing calculator for my math classes. It would have been insane not to, but there were no courses on how to use one. You just LEARNED IT YOURSELF because it was so useful. There were also no Emacs or Vim courses for CS, but you're insane if you pursue a CS degree with Notepad. Git is another invaluable tool you should learn to be productive.
@NicolayGiraldo
@NicolayGiraldo 21 күн бұрын
I have installed a TI-89 emulator on my smartphone, and of course to use it properly it required two books and some YT videos. It helped considerably in many classes, mainly linear algebra and coding theory.
@EmperorFool
@EmperorFool 21 күн бұрын
@@NicolayGiraldo Nice! That's exactly what I used back in the day. It's how I learned RPN, and it got me thru many a math class.
@alexpyattaev
@alexpyattaev 21 күн бұрын
Students not willing to learn practical skills is the bane of education system...
@chriss3404
@chriss3404 20 күн бұрын
I think that the structure of classes really contributes to students not wanting to learn. Once you get behind in classes, there is rarely if ever a chance to catch up if you have other commitments outside of your classes. When I was in college I'd always start a semester/qtr ahead, pushing class projects past where they needed to be with documentation, additional features, testing, etc. but by the end of the quarter, I consistently had to be satisfied with hitting the bare requirements and learning absolutely nothing more.
@alexpyattaev
@alexpyattaev 20 күн бұрын
@@chriss3404 yes, the planning of the curriculum is quite problematic. For example, teaching network engineering, I was surprised one day to find out that many of the students saw the terminal for the first time in the networking lab course, as due to change in the study plans the unix basics stuff became optional. Naturally, this was a massive difficulty spike for the unprepared, and a total pain for us to resolve, as we could not just tell them to "get good".
@jacobleslie8056
@jacobleslie8056 21 күн бұрын
omg. this is the such a mild take. it's the "lemon & herbs" of spicy takes.
@SamOween
@SamOween 21 күн бұрын
CS and Software Engineering are not the same and that is perfectly fine. CS is science and software engineering is closer to working in a car factory. Git is part of the software engineering discipline which is ultimately a trade like carpentry.
@SamOween
@SamOween 21 күн бұрын
I should elaborate that I think there is a gap between computer science and software engineering. If most CS graduates want to get a software engineering job, universities and higher education should focus on software engineering degrees. Unfortunately, computer science sounds more prestigious than software engineering.
@ShootingUtah
@ShootingUtah 21 күн бұрын
At my university the different between software engineering and a CS degree is literally 2 classes. Every other class or curriculum of classes can transfer or counts towards either degree. The only difference is in CS you are forced to code an assembler and a compiler as a capstone project. As someone who doesn't ever want to make my own compiler for basically any reason I wish I would have done software engineering.
@grokitall
@grokitall 21 күн бұрын
​@@ShootingUtahthere is a reason why the compiler matters. most of the work in advancing programming in the last 50 years or so has shown that domain specific languages are key to problem solving. this is basically what you do when you create an api, you extend the language to be better able to talk about your problem. the compiler part gives you an idea of how your bad api's can make that solution harder to implement, and more importantly, why. as a side effect it also n3eds proficiency in so many other types of programming that you would be hard pressed to find an alternative which still gave a framework for teaching all of those other aspects.
@henryvaneyk3769
@henryvaneyk3769 20 күн бұрын
You are 100% wrong. From a guy that has been developing for 34 years. It is usually the CS types that are the most argumentative when they need to do the practical stuff to get the job done.
@spuzzdawg
@spuzzdawg 21 күн бұрын
Im pretty sure that one of my intro to programming courses in my engineering degree spent about 1 lecture talking general concepts of various code repository tools, e.g. git, svn, mercurial etc. Thats probably all you need at the uni level.
@Rohinthas
@Rohinthas 21 күн бұрын
I am happy to report that my Software Engineering class had TWO whole lessons dedicated to version control and the homework for those lessons included initializing a git repo a performing a couple of the basic commands. Granted by that point I had been using git for a while but I was thoroughly shook when I met people from other schools that had never used it.
@Phaceial
@Phaceial 21 күн бұрын
How are assignments turned in? Starting my sophomore year I had to turn in projects with links to my github or I was managing them in a classroom org....
@gentlemanbirdlake
@gentlemanbirdlake 21 күн бұрын
We are almost at a point where with copy on write filesystems the version control is inherent in the base FS and then you can just plop VCS tagging and branching abstrations upon it and call it a day. VCS all the time everywhere and tag it if you really want to keep the history archived.
@echorises
@echorises 21 күн бұрын
All the degrees exists for the sake of the academia, it is employer's decision to decide whether or not they are applicable for getting jobs as well. Some industries rely more on the degree as the knowledge to attain for the job is not publicly available somewhere else. Programming is not one of those industries. In reality though, a university graduate will always be at least slightly more disciplined or open to to learn the rest of the required knowledge. If it is a CS degree, then you--as the employer-- know that they know at least some stuff. A CS graduate, fresh out of the school, will always be lacking in knowledge that is in the job description while being overly knowledgeable in stuff that are not in the job description.
@echorises
@echorises 21 күн бұрын
Also, academia is not "teaching what you have learned." Academics are not teachers. They are put into the position to teach simply because by default they have so much to teach and there need to be a way to keep them useful while they are not producing "knowledge" which is the actual description of what you do in academia. In any serious university, you will see that your professors use their right to go on sabbatical immediately when it is possible to finish up their real academic work.
@grokitall
@grokitall 21 күн бұрын
​@@echorisesI would argue that while there is a component of tenure which is about generating new knowledge, if you are so dense that you cannot pass the surrounding context on to your students, you are not really competent to get tenure in the first place. it is also a well known and well documented fact that understanding a problem can be hard, but helping someone else understand it is even harder and more importantly a different skill set involved.
@echorises
@echorises 20 күн бұрын
@@grokitall I agree with you completely. But I tend to draw a line between the reality of the situation and what the characteristics of academia should dictate to begin with. Academia was started to be seen a "job factory" because industries preferred that if there was a job factory, it should be rooted in higher education. This, in turn, caused academia to be more like the industries (especially in capitalist countries where education is actually an industry). But the requirements of both differs from each other greatly. In the end, you end up with professors who are neither precise enough to be considered tenured nor knowledgeable or fast-adapting enough to be in the industry. After all, underlying idea of the university is still them being the place to generate knowledge while being surrounded by people who seek to generate knowledge, not converting students into good workers. It is the industries' responsibility to come up with solutions to address working discipline. That is why, if I really need to hire a CS graduate, I realize that it is MY RESPONSIBILITY to nudge them towards learning git, IDE, etc. I will even take this further, I would be very suspicious of recently graduated people who are in their early-20s with both a higher education and industry knowledge if they were not programmers before they enrolled in university. I would take the person who immersed themselves in the university life, instead of the people who closed themselves in their rooms and learned stuff that are specifically required in the industry. Saying all that, I don't think "git" is an industry-specific tool. I took all my class notes while using git and I wasn't even a CS major. Git should be used by everyone who uses computers to do stuff.
@grokitall
@grokitall 20 күн бұрын
@@echorises i agree version control is to important and useful to only be used for programming. i would much rather have a repository of useful txt files handled with version control, instead of having microsoft word trying to mishandle multiple copies of a binary word document which has been modified by multiple people. git is just the best version control client we have. unfortunately, higher education has little to do with generating new knowledge. it is mostly a certificate mill used to generate enough income to pay for teachers and administrators to have a job. even worse, in higher level education a certain amount of teaching is forced upon post doctoral students without them being g8ven any teacher training, while professors are jumping through hoops trying to get external funding to pay for a very limited amount of research, with most of the time being used with students and funding hunts. worse still, until you get tenure, and thus don't need to worry about having a job next year, your actual research wil be constrained by the university to those non controversial bits of the subject that will help you get tenure. only after getting tenure are you free within the funding constraints to actually do any research you want in what little free time you are given. with the possible exception of japan, no country has yet produced a system where there is a part of the university which takes the pure research, funds getting it to the point where it is usable by industry, and then licenses the technology to industry to generate revenue to fund the part which takes the pure research and develops it. at that point, your tenured professors would actually be being paid to do pure research combined with developing existing research into stuff usable by industry, while the untenured ones could use the university development fund to find research which would be funded by the university, would help towards tenure, and would be passing knowledge to students. the post doctoral students would still split the time doing work which the professors had got funded combined with teaching. i would say it should not be possible to get your degree without having to get a teaching qualification as part of it, as so much of the time of professors and post docs is forced to be spent on teaching. as to producing students fit for industry, that has never been part of the goals of universities. with the exception of Germany, no country has a system of general education which is not designed with the intent of filtering out those not fit for an academic career, and basicaly throwing away the rest. germany does actually have a second path, dealing with some vocational qualifications. however most education is designed to take those unsuitable for academia and turn them into nice quiet sheeple, which we just cannot afford any longer.
@NihongoWakannai
@NihongoWakannai 16 күн бұрын
"degrees exist for the sake of academia" is for rich people with money to waste. The average joe doesn't have money to spend on a degree without relying on it being an investment into getting a good salary to pay off their debt. In the modern day knowledge is incredibly free and open on the internet; A university is where you go to get a piece of paper to prove you got knowledge so you can get a job, if you just want knowledge then you don't need to pay all that money.
@paulkohler8868
@paulkohler8868 18 күн бұрын
We had a very basic overview of what VCS is, and an in class exercise where we had to show that we committed the assigned exercise to SVN. They told us that Git, Mercurial, and other VCS exists and let us explore those on our own time. Took less than half a class session and was plenty of prep for the group projects we had later in the semester. IMO a great approach.
@droid-droidsson
@droid-droidsson 4 күн бұрын
Theo: "git gud" git: "gud" is not a git command. See 'git --help'.
@yousafraza9347
@yousafraza9347 21 күн бұрын
any take on angular new direction?
@JeffGeerling
@JeffGeerling 21 күн бұрын
They're approaching things from a new angle.
@juliocorzo3241
@juliocorzo3241 21 күн бұрын
I remember turning in assignments via FTP because that's what the teacher wanted; I explicitly asked for us to use git, but the teacher had been teaching for like 30 years, and I really doubt he had ever used it.
@nicejungle
@nicejungle 21 күн бұрын
I cannot imagine coding now without git, it's just insane. How do you expect find regressions without git-bisect ?
@-parrrate
@-parrrate 21 күн бұрын
fun fact: Git is 18 years older than 0b syntax for integer literals in C
@SuperKavv
@SuperKavv 21 күн бұрын
Git is essential for software development, and schools should prepare you for the industry by teaching you the basic tools. Doesn't have to be more than an hour or anything. Regarding CLI vs. GUI, I prefer CLI, but there are things that GUIs are just great at. Please do point out my skill issues, so I can improve. - Quickly selecting specific files to add instead of tabbing through near identical file paths (I know interactive exists). I guess you can use wildcards, haven't done that in a long time. - Only adding specific line changes from a diff to a commit, e.g. you've made two changes to a single file and want to commit them separately. Sometimes you can sort it out with stash, but it always sucks. GUIs make that much easier.
@oyasumi_zim
@oyasumi_zim 21 күн бұрын
I like to use them both together the way you mentioned, the CLI is faster for most things but when making a large change I will review each line and optionally stage a hunk or line and make sure I am happy with what I am commiting which is easier to do in the GUI and kind of clunky when using interactive commit. If the change is fairly small then I'll just use the cli to run a diff and add the files and commit.
@Holobrine
@Holobrine 21 күн бұрын
Facebook uses Mercurial and it turns out the reason for that is the git team didn’t want to work with them when they ran into scaling issues, but the mercurial team was willing
@morosis82
@morosis82 20 күн бұрын
Mercurial isn't that fundamentally different to git from a usage perspective, if you know one the other is fairly familiar. If you don't know either or svn then it's a problem. Don't tell me you know clearcase or sourcesafe, you know nothing.
@SaiKrishnaDubagunta
@SaiKrishnaDubagunta 19 күн бұрын
If Engineering degrees were to teach what's used in the jobs, there's going to be a new curriculum every 6 months. The job of engineering degrees, even with the most volatile engineering dept (CS) is to drill the fundamentals in, because the fundamentals don't change. The degrees are taught to develop a mindset to solve problems, NOT TO GET JOBS. You do what you want with the knowledge you have, that's where career counsellors come in. I wanna go to a college not to learn what I can already learn while working, but how to learn something new.
@pedrocruz-ds6bj
@pedrocruz-ds6bj 11 күн бұрын
What cs degree are you guys doing?? I was introduced to git in like the second year, and that because the first year was a general course in stem
@TazG2000
@TazG2000 20 күн бұрын
Can you effectively use tool x" is a far more important question than "did you happen to learn tool x while in school". If and when the industry moves to a replacement of git, knowing the old thing will be worthless compared to the ability to adapt on the spot. I understand being surprised at a lack of experience, but the leap to "these people are unhireable" for this specific reason seems pretty damn elitist.
@colecoleman8135
@colecoleman8135 21 күн бұрын
You keep saying your channel isn't for beginners, but I would like to counter that. While you cover dense topics, I can say as a new programmer you have been incredibly helpful for me. I'm self taught and don't have anyone around to talk about programming with. While you talk about complicated subject matter, you give me tons of thing to look into. I use your subject matter as a guide to things I should learn about and it has made me much better. Unrelated, I know how to use git.
@HerrBlauzahn
@HerrBlauzahn 21 күн бұрын
We had a section about git in several modules. Also, version control is an important part of programming and computer science in general. We also learned a bit about SVN, but mostly git.
@michaelbarrett7079
@michaelbarrett7079 20 күн бұрын
A little perspective from outside of the CS world - I earned a BFA and an MFA (painting) and now work in technology. I taught basics (drawing, basic design tools) in an Interior Architecture department (think Interior Design, but more systems, less decor) In both paths, there were foundational courses. In the fine arts path, we had two courses. 2D and 3D design and we learned fundamentals tools and techniques. We learned how to use a wood shop without maiming ourselves. In the Interior Architecture had a similar practice with a full year (two semester) studio course where they also learned woodshed, how to make blueprints the old fashioned way (and how to make cool images with blueprint paper) and how to do architectural lettering by hand. Some of this stuff disappeared (probably no one is hand-lettering architectural drawings any more) but everyone left those programs with foundational knowledge of how to do the work.
@elpupper_
@elpupper_ 21 күн бұрын
youtube not gonna do anything about these bots
@kuakilyissombroguwi
@kuakilyissombroguwi 21 күн бұрын
It's absolutely insane to me people are graduating from college with CS degrees who don't know git, and have never used libraries/frameworks/APIs... Are they still teaching mainframes, banking database systems and assembly language like it's 1999?
@piff57paff
@piff57paff 5 сағат бұрын
I'm not sure if they have to teach frameworks, as depending which field you'll enter, there are different frameworks expected. Why don't students skim through job posts and check requirements and then learn on their own? Back then we were told that university isn't school and you'll have to learn on your own as well. All the good devs at university coded in their free time and/or took on a side job. TBH if I get the feeling during an interview, that a candidate is not able to figure out what they need to learn on their own, that would be concerning for me.
@user-du9ch3tn2v
@user-du9ch3tn2v 13 күн бұрын
I think git is simple just learn the basics its fast. But what about js frameworks do you need them or is it enough you can provide data via python server and html?
@joshman1019
@joshman1019 20 күн бұрын
I also have a take that people are going to dislike regarding bespoke development environments. I've corrected more bad code from the "fast, window-tiling, linux terminal only, NeoVim" crowd during my career because they are always in a mad-dash. Too many engineers put so much focus on the tooling that they don't actually write good logic. All of their time and energy is focused on their NeoVim settings and the way their windows tile. Then when they finally start writing code it is written hastily and no more than a second or two of actual thought went into it. SO while Git is important, learning vim should be LAST priority.
@stephenjames2951
@stephenjames2951 21 күн бұрын
Not using git is like a mechanic not knowing “righty tightly lefty loosy”
@thomassynths
@thomassynths 21 күн бұрын
Theo, where was the (deserved) shaming when the Pal World devs said they didnt use git? You applauded them.
@Z3rgatul
@Z3rgatul 21 күн бұрын
Lmao, good catch
@ciarancurley5482
@ciarancurley5482 21 күн бұрын
I'd add that to the 5%. Pal World dev is just wierd, but they obviously know what there doing with svn.
@SnowTheParrot
@SnowTheParrot 21 күн бұрын
again, the exception. they all know how, just chose not too
@thomassynths
@thomassynths 21 күн бұрын
@@ciarancurley5482 they claimed they used a bucket of usbs and no vcs at all
@NihongoWakannai
@NihongoWakannai 16 күн бұрын
@@SnowTheParrot lmao no, they're absolutely insane for using a physical container of storage drives instead of version control software. Just because their hacked together game was wildly successful doesn't mean we should justify their crazy development practices.
@arcanernz
@arcanernz 20 күн бұрын
Git can be learned in a day if you’re learning very basic very surface level commands. I converted our entire codebase from csv to svn to git as well as taught our whole team git. It took me two weeks to learn the common commands and a month or two to internalize all the concepts. It is not intuitive and ppl who think git is easy most likely barely know git. But this was 15 years ago and it’s probably easier to learn git today but it’s still pretty complex. Knowing your tools well will make your job easier and make you a more capable developer.
@SupportSquirrel
@SupportSquirrel 11 күн бұрын
Stumbled on your channel while on my nightly meme viewings (to relax) and I gotta agree. There is only 1 time when someone in IT should have heard of but MAYBE not have used git yet: their internship. After that, though... Git was still new when I was in college but as soon as I learned about it I was hooked. Saved my ass a TON of times both at work and home. I've used it to version control papers through both my Masters degrees, files from servers at home, documentation and TONS of stuff at work. I'm not a software developer, far from it, but I do dabble and consider myself an engineer in the cybersecurity realm - that being said I've done very stupid stuff sometimes and git has taken me from saying "well, I'ma just go ahead and pack up my desk" to "don't worry, I already reverted the change and things are fine" because sometimes corporations just refuse to have a test and prod environment...
@NithinJune
@NithinJune 21 күн бұрын
bro what
@Viviko
@Viviko 21 күн бұрын
Wtf… folks actually graduating without knowing GIT… I do t even understand how to use the Git GUI. I tried it once and I was like… bruh. The CLI is way faster lol
@musashi542
@musashi542 21 күн бұрын
i didnt even know such thing exists .
@franciscogonzalez1879
@franciscogonzalez1879 21 күн бұрын
wait is there more than git cmd?????
@SahilP2648
@SahilP2648 21 күн бұрын
git cmd sucks, not sure how people would use it. I use git in VSCode with gitlens/gitless, it's an amazing experience using it.
@FlorianWendelborn
@FlorianWendelborn 21 күн бұрын
@@franciscogonzalez1879 dude there’s a whole ecosystem of git clients. To name a few common ones: Tower, Fork, GitKraken
@user-qm4ev6jb7d
@user-qm4ev6jb7d 21 күн бұрын
Don't care for Git GUI, but the Visual Studio integration with Git is quite good, actually.
@agacia1805
@agacia1805 19 күн бұрын
When I started learning to code, one of the first tasks I got from my mentor was setting up git on my local. God, it was hell, I almost cried. But I did it. And then I got my first merge conflict. It was even worse. I struggled with understanding how it works, but after a few months of practicing it every day, something clicked. And now I don't even remember how it was not knowing git. Thanks for taking a stand, Theo!
@peeds6431
@peeds6431 20 күн бұрын
I'm in software engineering and my uni essentially forces us to use git for version control and for submitting our coding projects, they mandate continual commits, merges and rebases, also writing the readme docs.
@0nepeop1e
@0nepeop1e 21 күн бұрын
i really dont understand why people are mad for this, git is something not being taught in school or university, so it is completely normal somebody graduate without knowing it, and why mad when somebody just point out the fact. it is such a great tool and almost every company is using it, so someone is recommending it, thats all.
@SahilP2648
@SahilP2648 21 күн бұрын
Well for a decent sized project, you absolutely need to use git. But the problem is that students need to be taught WHY git is necessary, WHY it was developed (Torvalds developed it because he hated using the VCS solutions of the past and wanted to address and solve the issues facing those softwares), and WHY having stuff like branches and merging branches etc. is necessary. And I also found out that there's not a single video on YT that does a proper job of telling you intuitively how git works, also not to mention the only way I found it useful is to work with VSCode and gitless/gitlens, without which I am seriously in bad shape for solving merge conflicts lol. I use git CLI only for commands.
@harrytsang1501
@harrytsang1501 21 күн бұрын
In my university, you would have used git at least once, without understanding it But you would not need to touch linux/unix cli, database management, network protocols or heard of RESTful API before graduating.
@torsten_dev
@torsten_dev 21 күн бұрын
Our university is teaching git along with basic ethics (fun stories of code that killed maimed or bankrupted). It's a required course prior to a collaborative coding project.
@anupambphoto
@anupambphoto 12 сағат бұрын
Because the way to get traction in KZfaq is say a sentence and put a lot of emphasis as if it is shocking and get a whole lot of camps for and against the topic. The next topic is peanut butter and jelly is good for sorting or not.
@plumbingphase
@plumbingphase 21 күн бұрын
people complaining about this "gatekeeping" will remain jobless 😂
@hanes2
@hanes2 21 күн бұрын
When I was in school for CS back in 2009-2010. Using git was a optional for clearing the course, but was a requirement to clearing it with high grade/points
@shock9616
@shock9616 20 күн бұрын
I just transferred to a new uni for their CS program last year, and had to take a few first year prereqs that didn't have equivalents at my old uni. One of these courses was a robotics engineering class (it's a prereq for my CS program because it introduces you to project management and working/coding in a group environment) and literally the first thing our prof did after going over the syllabus was give everyone a rundown of version control/git specifically. I had used git in my personal projects for a while before that (I even use it to track/backup my class notes to my private school-hosted git server) so it wasn't anything new for me, but the fact that git was the first thing we learned in an engineering class should show how important it is.
@amomchilov
@amomchilov 21 күн бұрын
There's no way someone sincerely believes that "basic git commands" can be learned in 15 minutes. Git is incredibly complex, we only find it easy because we're used to its quirks.
@nicejungle
@nicejungle 21 күн бұрын
it's very easy as long you already know what is a directed acyclic graph, which every programmer should know too
@amomchilov
@amomchilov 21 күн бұрын
@@nicejungle What if the people in question aren't programmers yet? They're students, they won't know most things yet, almost by definition.
@nicejungle
@nicejungle 21 күн бұрын
@@amomchilov we're talking about graduate students. If in 4 years, you've never used git, it means you've never programmed and/or you've never used an opensource project on internet (everybody use git). It's a red flag
@amomchilov
@amomchilov 21 күн бұрын
@@nicejungle since when were we talking about graduate students? This video talks about git being one of the first things all uni students should learn while learning to code.
@nicejungle
@nicejungle 21 күн бұрын
@@amomchilov please watch the video
@pinatacolada7986
@pinatacolada7986 21 күн бұрын
The education system is obsolete garbage. You can learn faster on KZfaq. Education is the last thing young people should be spending money on when houses and well paid jobs are unobtainable.
@piff57paff
@piff57paff 5 сағат бұрын
Education costing money is the real issue then. Education has its place as it's giving a framework to build upon. If you don't know what you don't know, things are getting hard. On the other hand education and lecturers are often lagging behind reality as often they are somewhat detached from the industry.
@ericgoldman7533
@ericgoldman7533 19 күн бұрын
I understand (and to some degree agree with) the stance that, "If you've been programming for 4 years, you should probably know how to use git." That said, it's important to recognize that when going through schooling, projects are rarely long-lived enough to benefit from source control (once that unit of the course is complete, those projects are usually discarded). Additionally, there is little, if any, collaboration on any projects (at least from my CS degree experience 10+ years ago).
@turc1656
@turc1656 21 күн бұрын
Why would anyone use version control when they can just implement the full/final feature set correctly the first time?
@aaa-my5xy
@aaa-my5xy 21 күн бұрын
sounds like a skill issue to me
@NihongoWakannai
@NihongoWakannai 16 күн бұрын
This is why I ONLY hired developers who don't know git. Git is only for developers who make mistakes and I don't want any mistakes in my codebase.
@fredoverflow
@fredoverflow 21 күн бұрын
I would rather hire someone who admits not knowing git at all than someone who confidently (and incorrectly) claims a commit is diff/delta/set of changes (when it fact every commit is a complete snapshot of the entire project).
@SahilP2648
@SahilP2648 21 күн бұрын
Depends on the context when you say that. git works on diffs. When you checkout a hash (the hash is the combined hash of the project state with author signatures and all that), git will calculate all the changes and recreate your code. If git were to maintain each file's version separately (as in whole files), you would see a lot more storage occupied from your .git folder.
@harrytsang1501
@harrytsang1501 21 күн бұрын
@@SahilP2648 You are correct. A commit is a set of diffs. However, the git hash, tag and branch names points to a complete snapshot of the codebase. I will still confidently say that a commit is a set of diffs. The fact that the handle/reference/pointer that you use to access that commit points to a complete snapshot does not change that fact
@SahilP2648
@SahilP2648 21 күн бұрын
@@harrytsang1501 like I said, git does not store your entire project's files as is, in that sense it is not a snapshot. When you checkout a hash then yes it restores all files within your root the way you want it to be, but git will always calculate the diffs and store them separately, never whole files, unless you add a new file to the project, only then it will store a new whole file.
@NihongoWakannai
@NihongoWakannai 16 күн бұрын
@@harrytsang1501 So it is a set of diffs and OP is just being an annoying pedant? Cause I was real confused wtf they were talking about.
@blarghblargh
@blarghblargh 11 күн бұрын
@@NihongoWakannai a git repo is a tree of diffs, yes. and any individual sha is a pointer to a node in that tree, and is a diff on top of the previous node. I am not sure why they'd say it's one or the other, and not both :P
@jesse9996
@jesse9996 21 күн бұрын
I'm not sure why you find that astounding Theo. It sounds like something a student might pick up later.
@_DATA_EXPUNGED_
@_DATA_EXPUNGED_ 21 күн бұрын
It tells a whole lot about the student in question. Never having used git or other version control also means: 1. No engagement with the open source community at all 2. No interaction with any existing projects outside of university 3. Never worked together with people outside of your direct peers in university 4. Barely any engagement with the coding community at large - it's practically impossible to not stumble over git when you actually talk to people, read stuff, ... - the "hammer" analogy really fits.
@jesse9996
@jesse9996 21 күн бұрын
@@_DATA_EXPUNGED_ 1. That's not necessary at all if by engagement with open source you mean writing code for open source. LOL 2. and 3. are essentially the same... Just because students haven't learned Git doesn't mean they have "No interaction with any existing projects outside of university". 4. Just because students haven't learned Git doesn't mean they don't know what it is. LOL
@_DATA_EXPUNGED_
@_DATA_EXPUNGED_ 20 күн бұрын
@jesse9996 Your response displays a significant lack of maturity. If you can't deal with disagreement, don't put your opinions out there for everybody to comment on. 1. No, not exclusively. Even such small things as downloading a repo from github, doing some small tweaks for yourself, etc - usually you are going to use git for that. 2. I'm not aware of a single significant project not using a VCS. It's just not a thing. Yesyes, some tiny exception probably exists somewhere - but the likeliness of a student randomly seeing them is rather low. 4. Oh sweet summer child, you have no idea... I've never seen such a high rate of utterly untalented, uninterested and curiosity-free young people who also assume they deserve a massive compensation for virtue of them being able to sit through a couple years of university regurgitating books. The most important traits are curiosity and general interest/passion and at least a decent coding ability, though the former 2 weigh more heavily. I have - so far - never had a person interview who was clearly passionate about their craft but didn't know at least git basics, it just doesn't happen. And _those_ are the people I want to hire. Passionate ones who love what they are doing and are willing to keep learning forever. In return, they get those massive salaries - not for their degree or pure existence though, instead for their good work. I've stopped hiring recent grads without at least a couple years experience (own projects count too if they can explain what they did well, of course), there's just no point. There's enough capable people out there right now, why would I take the risk and hire an uninterested "i just want the money" guy?
@lisamith
@lisamith 19 күн бұрын
I have so many thoughts about this. Even friends of mine who studied physics eventually learned about Git when they were working on lab stuff. How somebody who wants to work on software does not acquire at least some knowledge about Git is beyond me. At my university every CS and software engineering student starts almost every project by creating a Git repository. There are even classes in which the professor will create a GitLab project for each group. In others a Git diff has to be submitted. I could go on and on about this
@timedebtor
@timedebtor 21 күн бұрын
Also, there is a great way to make version control part of the curriculum. Temporal data structures are amazingly difficult and different. The MIT Advanced data Structures course is a great place to start. Implementing version control system would be a great course at the undergraduate level.
@supdawg7811
@supdawg7811 21 күн бұрын
Yeah I kinda think this is a bad take. CS is largely unrelated to Git. Sure, git uses some CS concepts, but students will get more out of trying to learn foundational stuff (which Git isn’t) when they have _all_ the resources available to them. Learning git doesn’t require a university’s resources. Also, re: version control: also a very simple concept that doesn’t require a university’s resources. Edit: I’m watching this more and more and these takes are getting worse and worse. These people want to turn CS into software engineering, which it absolutely isn’t.
@dakdevs
@dakdevs 21 күн бұрын
How do you substitute git with WhatsApp? Can I use iMessage instead too? I don't really use WhatsApp so I'm for sure missing something.
@johnhershberg5915
@johnhershberg5915 20 күн бұрын
I'm gonna play devil's advocate here and say Theo's take was a 2 not a 1. There are whole industries that don't use git out of necessity. The gaming industry only recently started switching to git, and only for small projects. Because you're dealing with assets that can be in the hundreds of megs per file git is not really appropriate. When I started in the gaming industry we literally just had a network drive we all copy/pasted files into. When we finally installed our own SVN server at our studio it was a blessed day. But it actually took a while to get used to it. We would deal with issues like the drive getting full. We'd have to find the largest files, which were often medium-sized files with many commits, and ask someone if we can remove the past revisions. I made the switch from gaming to web about 5 years ago and had to learn git. Yeah it took 5 minutes. But still I wouldn't say that it's so trivial as to be a lukewarm take. I had a huge advantage of already working in a team and understand team dynamics and I was able to adapt within a week. But if you're a grad? I wouldn't expect you to have these soft skills. Which brings me to the next point... Soft skills. Using version control comes with a whole culture. At my current job we insist on many small PRs for example. But wait, what's a PR? We didn't have PRs when we used SVN (or a dropbox, or a network drop). So now we have code reviews. And now you need to know that your code will be read by other people, which takes time, so you need to keep it concise. If you're a fresh grad then you've probably never even worked on a team. You never had to rely on someone else to read every commit you make before it can get merged to main. If you come from another industry that doesn't function like this you'll have this cultural part missing. So when people say "everyone should know git to get a job", what other people hear is "everyone should take on my preferred culture or you're a loser", which comes off a bit harsh. Ultimately I still think Theo is right here. But he's not 100% right, only 95% right. I think highlighting this nuance would have benefited this conversation some.
@ambhaiji
@ambhaiji 13 күн бұрын
The people that say git is not must to learn are most likely the same people that say you cannot drink soup straight from the bowl.
@mchisolm0
@mchisolm0 21 күн бұрын
Yeah, as a teacher, highlighting how the file system works for students learning git has been important. It feels this is a more important conversation than I realized because I would have thought this would be easy to get buy-in. Maybe not buy-in from universities, but still.
@haleyk10198
@haleyk10198 20 күн бұрын
If you can’t understand VSCode / IntelliJ’s Git GUI integration how do you even pick up other dev tools valgrind. Don’t even get me started on CLI bullshit, be honest with me, does your full team uses GDB in command line?
@recursivecube44
@recursivecube44 20 күн бұрын
I am studying CS at a University in Europe and I really like the approach my course took to making student learning git. It wasn't taught as a class on its own, we just had to use it to submit our assignments for some of our courses. They provided some guides and some optional tutorials for the people who needed help, but we were left to our own devices. I think this is a great approach as it makes students follow the same pattern that they will have to do for every tool they will use throughout work as a dev. I can't fathom that a university course these days doesn't make students use at least some kind of version control.
@web3simplified793
@web3simplified793 21 күн бұрын
what push back were u getting? like if you dont know git by the time your done college then something has definitely gone wrong. lol just getting to the part of the video where theo calls out. i fully agree if you cant learn git in 4 years, its not good
@elirane85
@elirane85 Күн бұрын
I didn't use or know git when I was a CS student. But in my defense, git was only invented like a year or two before I started collage and wasn't wide spread at all :)
@danhoelzel5339
@danhoelzel5339 19 күн бұрын
I majored in game design, and in my first game design class, we didn't use any version control and I was the person in charge of compiling the most up to date code. It was a nightmare. The next semester I was in a group that started using Git, and it was so nice to not have to do it all manually, so yes, grads should know how to do this it makes your life easier and is so simple to learn.
@rikschaaf
@rikschaaf 20 күн бұрын
While in a CS degree it's indeed maybe not necessarily needing to learn git (though it would help), you'd at least need to get the basics of version control: - what is a commit? - what is a tag? - what is a branch? - what is a merge? - what is a merge conflict? Once you know those, you can try to learn one or two version control things, like git, mercurial, etc. and learn how you interact with the above elements (like switching between branches, amending commits, using a split view for resolving merge conflicts, creating pull requests, etc). It's even fine if you only do that through a UI, like SourceTree or the integrated UI in tools like VSCode or IntelliJ, so long as you at least know the basic concepts. The basic things that you'd need to know are: - how to select files to commit - how to actually make the commit - how to tag a commit - how to create a branch - how to switch between branches/tags/commits How to merge (or rebase) branches, resolve merge conflicts or how to do a code review for a pull/merge request can be taught on the job, but would be a nice bonus to know those beforehand too.
@IrizarryBrandon
@IrizarryBrandon 3 күн бұрын
The main motivator for learning Git as a beginning programmer isn't even collaboration with other developers (as central that is especially to open source development), it's the ability to move yourself out of the corners you code yourself into, for example when working on a personal project. I remember working through K&R2, and getting stuck on one problem simply because I had no way, in the parlance of Git, to check out a prior good commit where I hadn't gotten stuck yet; I hadn't been using any sort of version control. Same with when I tried to work through SICP. In this sense, the analogy that Git is like a save-point system used in games is very apt. So for me, two very key things when learning to code are: 1. version control. 2. using a debugger.
@RedPsyched
@RedPsyched 21 күн бұрын
16:52 as a new grad who grinded through my entire college learning different languages, technologies, and hopping linux distros, this hits home. I graduated last month, and I'm actively looking for jobs, yet I'm getting nothing. The market is so bad rn.
@theoldknowledge6778
@theoldknowledge6778 21 күн бұрын
I’ve graduated in CS and I can confirm that. The graduation is more focused on algorithms, logic, math and data structures
@grokitall
@grokitall 21 күн бұрын
the point here is that there are a set of core technologies which are essential for being able to work on code in a modern context, most of which can e taught the basics of in less than an afternoon. structured programming used to be controversial, so was version control, and so is continuous integration. i would argue that you should not be able to graduate without being able to submit code, which implies knowing a language, producing a program, checking it into version control, and having it pass continuous integration. all of that can be taught in an afternoon using fizbuzz and the idea that you can spend four years learning advanced techniques without learning the basics of working in a modern high end environment should not be acceptable.
@ArgoIo
@ArgoIo 20 күн бұрын
So was mine. We still had to turn in our homework using git and docker for more complex tasks.
@par5ek
@par5ek 21 күн бұрын
I retired programming 7 years ago Right now, I just do some embedded programming for fun. There wasn't any internet when I started my career. I would have loved to have access to a channel like yours at that time. Really enjoying it now, even if it's just for giggles Best Regards
@B20C0
@B20C0 20 күн бұрын
I don't understand this, at university when working in a group we had to use git to collaborate, how would you do it otherwise (except for other versioning tools)? Just copy paste other people's code or what?
@MSheepdog
@MSheepdog 20 күн бұрын
I was in uni when Git was first released, so I graduated before it was popular. My group assignments involved a lot of .ZIP files with names like 'blah_FINAL_V2.zip'. Not even joking. Git would have saved so much time.
@anupambphoto
@anupambphoto 12 сағат бұрын
We used to email each other “final_final_assignment”
@salsaman
@salsaman 19 күн бұрын
I wouldn't say learning git specifically should be a prerequisite, because the company employing a grad may use some other code repository system. I would say it's more important to demonstrate knowledge of the concepts of code versioning systems, undestanding things like pull requests, merging, rolling back changes, creating branches, commiting changes etc. If git is used as an example of that, then fine, The challenge should be more along the lines of - here is a cheat sheet for git, here is a list of tasks, describe the sequence you would use to complete the tasks efficiently. I use git all the time but I still have to look things up when I want to do something like rolling back to a previous version or merging branches. Even if I think I know what the command is I want to double check so I don't accidentally do something stupid.
@beentheredonethatunfortunately
@beentheredonethatunfortunately 10 күн бұрын
On the subject of not knowing what files and filesystems are...CS graduates only do things in eclipse. When told to use git they at least have the wherewithall to find how to use, the only trouble is it's how to use it in eclipse only. Command line? What's one of those?
@allie-ontheweb
@allie-ontheweb 20 күн бұрын
4:51 Yeah 100% agree. I live in a smallish city and there's soooo many local web development companies that don't use Git. Learning this skill BEFORE graduating and knowing how crucial this skill was helped me to see the huge red flags for what they were.
@carterjames199
@carterjames199 21 күн бұрын
When u say all the good engineers you know can use fit via the cli. Does that mean they can use git via the cli without looking anything up like they just know every command? Cause does that make me a shitty engineer if I prefer GitHub desktop or using the GitHub extensions in my ide?
@natrixnatrix
@natrixnatrix 21 күн бұрын
You should be able to clone a repository (from an arbitrary git server or anywhere on your computer) without having to look anything up. You should feel confident in that you could do everything you do from your gui without it but with the help of the git manual.
@Mystic998
@Mystic998 21 күн бұрын
I'd say it doesn't matter. If you want to navigate git operations faster and make your workflow more efficient, learn the cli. If you expect you're going to be in a situation where you are working solely in a terminal with no feasible way to look something up, learn the cli. Otherwise, do what you want. I think the more important thing is to be confident that you could figure out how to interact with any (at least somewhat reasonably made) unfamiliar cli without necessarily having a reference.
Why doesn't Facebook use git?
20:07
Theo - t3․gg
Рет қаралды 188 М.
The Weirdest Hoax on the Internet
9:46
fern
Рет қаралды 39 М.
Жайдарман | Туған күн 2024 | Алматы
2:22:55
Jaidarman OFFICIAL / JCI
Рет қаралды 1,8 МЛН
Despicable Me Fart Blaster
00:51
_vector_
Рет қаралды 14 МЛН
Heartwarming: Stranger Saves Puppy from Hot Car #shorts
00:22
Fabiosa Best Lifehacks
Рет қаралды 21 МЛН
`const` was a mistake
31:50
Theo - t3․gg
Рет қаралды 128 М.
This can't be good...
13:30
Theo - t3․gg
Рет қаралды 102 М.
why WASM on Servers?!?!?!
16:00
Null Bytes
Рет қаралды 1,8 М.
how dark mode killed good design
13:13
Answer in Progress
Рет қаралды 615 М.
Your Goals Kinda Suck - LEVEL UP As A Developer
34:40
Theo - t3․gg
Рет қаралды 143 М.
The World Depends on 60-Year-Old Code No One Knows Anymore
9:30
Coding with Dee
Рет қаралды 471 М.
100+ Linux Things you Need to Know
12:23
Fireship
Рет қаралды 743 М.
Microsoft Regrets Using React (For Edge)
14:28
Theo - t3․gg
Рет қаралды 141 М.
This Might Be The Best Advice I Have Ever Seen
40:02
ThePrimeTime
Рет қаралды 255 М.
I Spent 18 Months Using Rust And Regret It
38:36
ThePrimeTime
Рет қаралды 230 М.
Samsung Galaxy 🔥 #shorts  #trending #youtubeshorts  #shortvideo ujjawal4u
0:10
Ujjawal4u. 120k Views . 4 hours ago
Рет қаралды 4,7 МЛН
Опять съемные крышки в смартфонах? #cmf
0:50
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,7 МЛН
⚡️Супер БЫСТРАЯ Зарядка | Проверка
1:00