4 ms·
> Here’s my theory: novice and intermediate users would significantly improve their understanding and efficacy with Git if they weren’t afraid of making mistake
by sombremesa 5y ago
> Here’s my theory: novice and intermediate users would significantly improve their understanding and efficacy with Git if they weren’t afraid of making mistakes.
Here's something that happens when people are encouraged to make more mistakes: they make more mistakes.
The piece where people are encouraged to learn from these mistakes is missing from the author's equation. Without that, this tool becomes a crutch at best, and a disaster waiting to happen at worst.
Can we do better?
*Edit*: Let me answer my own question. We can do better - for example - simply by adding the Git commands this program would run, aside from the human readable explanation. Not sure what people replying to this comment were aiming for, since they clearly did not offer up a single suggestion.
Let me go a bit further and add that self-righteous soapboxes are NOT a good thing, and as it stands none of the replies to this comment were relevant. I was hoping to spark a discussion of what else could be done to improve the experience, but I could have worded my comment better.
On the other hand, you can do better.
- _jal 5y agoPerhaps it should have been stated outright, but the operative theory appears to be that if mistakes cost less, making more of them becomes the learning exercise.
- deleted 5y ago[deleted]
- yoz-y 5y agoI wouldn't be so harsh. I don't know a single program that was made worse by adding undo. Imagine a painting program without it. (I'm sure there are some artistic programs that do that but those would be mostly toys) Trying to learn from mistakes that can be solved by an undo on local repository are mostly in the realm of "be more careful", which is an impossible requirement to achieve in general.
- shadowgovt 5y agoThe cost of adding undo is usually the cost itself (i.e. every operation the program can do must now be considered for its reversibility). Not every program justifies that cost, but I have also never seen a program that was made worse by adding it.
- petters 5y agoThe tool prints what it is going to do in a nice format. That is an opportunity for learning.
- deeviant 5y agoIf your suggestion for making software better is to make mistakes so punishing that users are thusly properly conditioned to not repeat the mistake then... may I never use software you work on. An analogy in my mind is a "hardcore"(where your in-game character permanently dies if you die once) mode in a game. On the surface, even it's name suggests that a really die hard power gamer is going to want to try this mode, the phrase beckons truly a true epic gamer experience that will test the players skill to the utmost. But, you don't get that. You get people getting level 2 by killing only level 1 critters for 10 hours straight (or equivalent), you get a boring, sterile, slow progressing gameplay that is exactly opposite of what one might imagine going into it.
- Filligree 5y ago> An analogy in my mind is a "hardcore"(where your in-game character permanently dies if you die once) mode in a game. On the surface, even it's name suggests that a really die hard power gamer is going to want to try this mode, the phrase beckons truly a true epic gamer experience that will test the players skill to the utmost. But, you don't get that. You get people getting level 2 by killing only level 1 critters for 10 hours straight (or equivalent), you get a boring, sterile, slow progressing gameplay that is exactly opposite of what one might imagine going into it. Well, yes and no. Try combining it with a speedrun. You'll find you have to take calculated risks, and this can indeed add another level to the game.
- deeviant 5y agoYes, agreed. I wasn't meaning to be dismissive of those that enjoy or make use of these types of game modes, but really just invoking how hardcore mode ends up on average with the average user for analogy only.
- burnished 5y agoMaking a mistake is an opportunity to grow by testing and validating your mental model of a system. If the price of a mistake is too high that is the same as saying the price of testing is too high. If you want to craft a world in which people can learn more from fewer mistakes then I think that is a laudable goal but here it sounds like you simply want to keep that high cost. Side note; Factorio is a game where the price of making a mistake in your build is having to pick a thing up and try again. Very low friction for most mistakes. People learn a lot in that game by making mistakes, myself included (two direction trains leads you down a path of evil by the way), and I think if you were to include friction into that system to prevent them from wanting to make mistakes at all the overall learning would go down. Or for an entirely different example, are you also opposed to FPGAs? Should people be forced to not simulate circuits before sending them off to be fabricated, in the hopes that by making the mistake more painful they won't make as many? Besides its not like people need more examples in their lives of situations where a mistake is not easily recoverable from. So to answer your question; I certainly can't, I am a mistake based learner. If you can do better then please, please, do.
- handrous 5y agoMaking it possible to "play" safely is maybe the best way to help people learn.
- onion2k 5y agoWithout that, this tool becomes a crutch at best, and a disaster waiting to happen at worst. The underlying assumption here is that undo features make people bad at thinking. I suspect that might be true in a lot of cases, but I think we should give users the benefit of the doubt and start by believing that they're undoing something that they tried to reason about and made a mistake with rather than thinking they're just whacking in random commands hoping to hit the right one. The outcome might be the same but one is a little more kind. However, a reasonable counter argument to that whole idea is that without an escape hatch giving users a sense of safety they'll never even try to use any features that they perceive as 'dangerous'. Not having the ability to roll back something they've tried means they won't try, and that keeps most git users from becoming experts. An undo feature is an immensely useful learning tool (so long as it always works as expected), which is exactly what you want if you think that people should be encouraged to learn.