4 ms·
I remember when there were many different reasonable options for source control. I’ve really enjoyed recent years how there’s at least one thing in software de
by oofbey 5y ago
I remember when there were many different reasonable options for source control. I’ve really enjoyed recent years how there’s at least one thing in software development where basically everybody agrees what the right solution to a problem is. For source control, use git. Almost nobody disagrees. Is git perfect? Of course not. Is it hard to learn? Hell yeah. But everybody does, at least enough to get by.
I find the standardization that git has brought to the industry to be wonderfully simplifying for the lives of people developing software. If only we could all agree on things like a programming language, or a database - how much more productive would we be? How many life years do we spend trying out or learning new technologies that don’t go anywhere, or which only offer marginal benefits in exchange for real sacrifices? At least for now, source control doesn’t have that level of constant churn which is so commonplace in software.
To me, the benefits of standardization on git far outweighs any benefits that might be achieved by trying something new.
- kitd 5y agoAre you referring to "Git the standard format" or "Git the CLI" ? If the former, then yes I agree. If the latter, then definitely not, and I appreciate tools like Fossil & Mercurial that offer alternatives.
- SQLite 5y agoSome issues with "Git the standard format": * Does not track cherry-picks * Does not track branch names * Tags must be unique. (You cannot add a "release" tag to every release, for example.) * Not easily extensible - witness the pain and years of effort trying to move from SHA1 to SHA2.
- anotherhue 5y agoI agree with you but I don't like that I do. Needles churn is one thing, but deliberately ceasing innovation and 'settling' seems like a loss. If we could all agree to a synchronised hype cycle that may help :)
- GordonS 5y agoI kind of agree. I don't like monoculture in general, but I'm not so adverse with git. I can remember where a place I worked used SVN, TFS, CVS and some commercial system (Perforce, I think), and it was really difficult switching between projects - I made quite a few mistakes. Git isn't perfect, but it's more than good enough.
- johannes1234321 5y ago> Is it hard to learn? Hell yeah. But everybody does, at least enough to get by. that sounds like reason to try to evolve instead kf saying "yeah well, we are done" with some luck alternative tools come up with ideas, which become part of the default tool, maybe the default will change over time.
- oofbey 5y agoFundamentally I don't disagree. Except that I see so much wasted effort in our industry trying to evolve just for the sake of enjoying trying new things, which I find fundamentally super inefficient. I know that's how evolution works and eventually gets to a better place. I'm just relishing the fact that for once we agree on something. On the complexity front I have a couple perspectives. First, the fundamental concepts you need to contribute to a code base aren't that hard. Which I think is why it survives and thrives. But the CLI tools are NOT very friendly. So secondly, you might think we just need better front-ends. And maybe there are by now? But I've hated every alternative front-end to git I've ever used, but maybe that's just me. I also don't use an IDE, so I'm obviously a bit of a dinosaur by nature.
- johannes1234321 5y ago> Except that I see so much wasted effort in our industry trying to evolve just for the sake of enjoying trying new things, which I find fundamentally super inefficient Why must it be so sufficient, with that narrow view on sufficiency. Fundamentally: If people annoy it, it is efficient in bringing joy, which in my view life should be about. But secondly if I take the same view on efficiency: I see so much time wasted with git, so many times a repository is broken due to a bad merge or somebody doing something wrong. This can't be peak tooling.
- blacklion 5y agoTo me, it is a problem. Only git for version control. Perfect? No. Good for everybody and every project? No. Good enough? Yes. Only UNIX for any non-GUI application, and now even worse, almost only Linux. Perfect? No. Good for everybody and every project? No. Good enough? Yes. Only C for system programming. Perfect? No. Good for everybody and every project? No. Good enough? Yes. Only x86(_64) for almost anything non-portable. Perfect? No. Good for everybody and every project? No. Good enough? Yes. (same for ARM in portable world). We use mediocre tools which share best property: ubiquity. World of Good Enough, world of "multi-tools" which are not perfect for any application, but good enough for almost all of them. We lost a tons of bright systems, ideas, approaches. Now it is common to say, that diversity and inclusivity in teams are very well for corporate culture, as each person brings his/her own point of view, and multiple point of views are better for final product or service. But in world of modern IT tools I see opposite. Monocultures everywhere. Sometimes I read about different IT (mostly hardware, or integraged hardwae & software) of 1985-2005 and it is very sad reading: there was a tons of different systems, approaches, architectures, languages, ways to build systems. Each and every of them were more suitable for niche tasks. And what we can see now? Linux, Docker, git, x86, C. Yes, I know, that there is Rust and there is ARM (at least!), but it is, what, 1% of landscape? And no new or specialized OSes (even IoT, which should be hyper-effective and realtime often is built on Linux!), no new platforms which shine in one or other niche, nothing Yes, again, I know about POWER and z/Architecture (or how it is called this month), but, again, it is drop in the ocean of same boxes with same OS.