3 ms·
> I think it's a tragedy that just about every developer uses git but most learn add, commit, branch, and merge and then just stop learning. This is because Gi
by forrestthewoods 6y ago
> I think it's a tragedy that just about every developer uses git but most learn add, commit, branch, and merge and then just stop learning.
This is because Git is too hard to use.
How do I know that Git is too hard to use? Because there are literally thousands of blog post tutorials explaining how easy Git is to learn. Things that are easy do not need thousands of different guides telling you how easy it is.
- JadeNB 6y ago> This is because Git is too hard to use. > How do I know that Git is too hard to use? Because there are literally thousands of blog post tutorials explaining how easy Git is to learn. Things that are easy do not need thousands of different guides telling you how easy it is. I'm not sure that's convincing. I think that a lot of guides about how easy it is indicate that it's slightly difficult to learn. That results in a lot of people struggling for a little bit, overcoming the struggle, and feeling a sense of accomplishment and enlightenment, which they then want to share. (There's also a difference between how hard something is to use and how hard it is to learn. I'd argue that there's often a trade-off to be made, where some sacrifice on difficulty learning results in a reward in ease of use—in the sense that, for example, vim is far easier to use than any other editor for a seasoned vimmer.)
- gkoberger 6y agoThe counter argument would be that maybe git is so basic and easy to learn that everyone feels comfortable enough with it to write a tutorial? I think a large amount of content is more a factor of Git's ubiquity than its difficulty.
- Supermancho 6y ago> git is so basic and easy to learn that everyone feels comfortable enough with it to write a tutorial? Nobody writes tutorials on how easy Lyft or Uber apps are to use. Easy interfaces don't need lots and lots of tutorials. That's exclusively the result of poorly designed interfaces AND complicated systems.
- gkoberger 6y agoLyft is an app. Git is a tool for developers. I have no clue how they're related. That being said, I googled "How to use Lyft" and there's a ton of results.
- Supermancho 6y ago> Lyft is an app. Git is a tool for developers. I have no clue how they're related. Google: What is a system Good luck.
- zwieback 6y agoMy SCM journey: RCS-PVCS-cvs-VSS-MKSSI-svn-Perforce-git I hate all of them but learned to use them because what's the alternative?
- gpspake 6y agoI respectfully disagree on the basis that, yes revision control is hard, but git provides a relatively beautifully simple api and vocabulary on top of an inherently complex and absolutely necessary set of concepts. When you're working on a codebase with multiple people, there are going to be changes and the changes have to be consolidated and the conflicts have to be resolved. I believe, with a reasonable amount of time and effort, developers can learn that API and vocabulary and I have yet to encounter anything comparable in terms of ease of use and "grok-ability" - especially with modern GUI tools. git is one of the most ubiquitous and unavoidable technologies in software development and it's 100% worth the time and effort to understand and be good at it.
- ajross 6y ago> This is because Git is too hard to use. Git is hard to LEARN. It is objectively very easy to USE for those who have learned it, so much so that the population of "I used to use git until I found ..." evangelists is effectively zero. Tools like mercurial exist in the marketplace of ideas mostly by peeling off users who haven't yet started using git productively by promising 80% of the features for 10% of the effort. In fact, I don't know that there has been a new tool since vim or emacs that so well illustrated this dichotomy between ease of learning and ease of use. But to be honest: it really is needlessly hard to learn. The content of the linked article is that git is built on an extremely simple foundation of data structures and operations that anyone can understand. But the takeaway from the article is that no one does understand it, because that layer is hidden behind a facade of tools that completely obscure it. Where are the "blobs" in git reset? What is the "index"? Is it a "tree" (it's not, IIRC)? I definitely agree with people who complain about the porcelain layer's design. But I still use git every day and love it.
- morsch 6y agoYou have evidence that git is hard to use, but no evidence establishing that it's too hard. Some things just aren't easy.