this post was submitted on 08 Nov 2023
85 points (85.7% liked)

Programming

17540 readers
73 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
85
Why Git is hard (roadrunnertwice.dreamwidth.org)
submitted 1 year ago by learnbyexample to c/programming
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 11 points 1 year ago* (last edited 1 year ago) (1 children)

git gets easier once you get the basic idea that branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space.

(source)

Edit: but to actually have content in this comment, I'm not sure the mental model is the problem. It's not that alien that a good explanation wouldn't help, but it took a long time for git to start paying any sort of attention to "human readability." It was and still is in a way "aggressively technical" and often felt like it purposefully wanted to keep anybody but the most UNIX-bearded kernel hackers from using it. The man pages were rarely helpful unless you already understood git, the options were very unintuitively named, etc etc. And considering Linus' personality, I'm not exactly surprised.

With a little bit of more thought on how to make it more usable right from the start, I'm not sure it'd have such a reputation as it has now. The reason why I think this endofunctor joke is so funny is that that sort of explanation to "simplify" git wouldn't have been at all out of place – followed by the UNIX beards scoffing at the poor lusers who didn't understand their obviously clear description of what git branches are.

[–] noli 3 points 1 year ago

Reminds me of the old joke that monads are easy to understand, you just have to realize monads are just monoids in the class of endofunctors.