4 ms·
What? Why would you teach someone to do things the wrong way?
by q7xvh97o2pDhNrh 4y ago
What? Why would you teach someone to do things the wrong way?
- renewiltord 4y agoI must apologize. We have purposely trained them wrong. As a joke.
- Xylakant 4y agoYou can’t teach all of the things at the same time. People will just freak out, be confused and learn nothing. There’s a lot of the things that you’ll teach “wrong” at the beginning. You’ll never talk about CI/CD at that stage, deployment, packaging, etc. either, despite a lot of this being a requirement for a lot of software engineering projects.
- jbverschoor 4y agoWhy would you have nodemodules in every project? It shouldn’t be a local directory anyway
- ikiris 4y agoThey’re probably a math teacher and want them to learn about punch cards before introducing complex concepts like a floppy disk.
- Brian_K_White 4y agoIt's not teaching them the wrong way. It's teaching them a simple version of the right way. You can't do everything at once and git is counter-productive on day one, and the most important thing was they find programming remotely interesting at all. The next most important thing is always working on a new copy. How exactly you make those new copies barely matters at all compared to just having them at all. Using something arcane and unforgiving and inscrutable and complex like git to accomplish those copies is way way down on the list. The new student is barely interested in the actual coding to make a game if you're lucky. They would rather mow lawns than learn administriva like git. It could even be argued as irresponsible to hand git to babies and expect everything to be fine. Just because we all have about 5 git commands we use 99.9% of the time, and have no problem 99% of the time because we learned how to "hold it right" and just always carefully do things in the right order, does not mean git can actually be made safe and simple. Those 5 or so commands aren't actually enough.
- em-bee 4y agoi don't entirely agree with not teaching git to a new programmer, but if we look at the extreme it makes more sense. how would i teach a nine year old? exactly like that: copy the project. actually, a good way to think of it is releases. even with git, i keep a copy of each project release, that itself is not stored in git.
- hombre_fatal 4y agoA new programmer can just use a git UI like the Github app. It abstracts everything away and leaves you with the obvious benefit of being able to commit a succession of snapshots that represent logical groupings of changes. I haven’t used cli git since uni. GUI is better for basically everything except for a few rare and advanced commands.
- fbdab103 4y agoYet that is still just one more impediment to getting someone off the ground. You are already throwing programming concepts (variables, and loops, and conditionals, oh my!) + big scary IDE + likely first-time command line, etc onto their plate. Invoking yet another weirdo program into the paradigm is not helping a beginner. Jeremy Howard (of Fastai fame) has a good analogy that we do not make people sit in a classroom for a semester to learn all of the theory of baseball. Instead, we give them a bat and a ball, and layer on the instructions of how the game works. You can get a good approximation of the game with just a couple minutes of instruction and refine the understanding from there.
- tomjen3 4y agoAs others have pointed out, it is not teaching others wrong things: copying the directory is (modulo optimization) what Git does. However if you dump people straight into everything at once they will become extremely confused and won't learn anything. What I want to do is take one step at a time, and build on what they already know. Then when they can program, you can show them how to use Git and the superpowers that comes with it.
- q7xvh97o2pDhNrh 4y agoWoops, just saw I replied to a higher comment in this tree instead of to you as the asker of the original question. FWIW, my thoughts are basically that it's a question of sequencing the lessons and framing the overall purpose: https://news.ycombinator.com/item?id=35411405 https://news.ycombinator.com/item?id=35411405