Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Do you really want a dev environment where there is only one way of doing things?


God, yes!

Even if it's not the best way. If it's for more than one person, for the sake of sanity, pick a single way to do normal tasks. It doesn't have to be static (changes to the process/tooling can be trialed and applied), but it should be single.

I've built developer tools for big teams that improved productivity and increased my and others' happiness for a living. And I'd shred every single commit to those tools in a heartbeat in exchange for an environment where you don't have to head-scratch about what process and tools other people were using to make changes to the same code.


Yes! Absolutely! So I can focus on innovating where it matters (the product I'm developing). It alao would mean those things would be extremely polished (because a lot of people affected and interested to make it good). Also I would not need to learn so much random stuff I don't really care about.


In my experience, every time I've encountered someone who has this point of view, what they really mean is "Yes, we should have one way to do it, and it should be the way I like".

The obvious counterpoint to your statement is that if your mentality held sway, we would never have had Git and would still be on SVN.


I'm not saying this because of my rigid opinion, but because of productivity. I WISH Mercurial was the one who caught on, because everyone says it's better, more intuitive (oh, and it's written in Python which I absolutely love) but this is not the case, Git won and people should accept that.

To put another way; I HATE git, I LOVE Mercurial, but Git won, it's ubiquitous and Mercurial is not that much better.


This level of rigidity would preclude the gradual adoption of newer workflows, and hence be a hard blocker preventing any improvement or advancement.

I hesitate to criticise it, but I don't think such an environment would be polished. A frozen environment is one which can't be improved, so will naturally stagnate. You couldn't achieve a state of being "extremely polished" because those who cared to do the polishing would be denied the ability to do so because it requires change in order to do so.


You might be right on one hand, but do you think Git is "stagnating"? I don't think so.


You're free to choose a tool and use that so you can focus on the product. But only having one tool would be rather counter productive for the community as a whole.


Gcc for the longest time was the only open source C/C++ compiler. It worked fine, but you really could not consider it "polished", despite a lot of people being affected and interested to make it good. It wasn't until LLVM came around that it got better.

Having one thing doesn't ensure at all that it will be polished. In fact, it's more likely that it will stagnate.


Again, the difference in that case is that llvm is probably an order of magnitude better than gcc. Mercurial is not.


llvm is not an order of magnitude better than gcc as a compiler.


It has a completely different open-source license and that's probably the reason why people bothered.

Hg and Git are both GPLv2.


I don't believe that argument is relevant to the discussion.


As long as that way is one of the best - sure why not?


Because it's impossible to be "one of the best" for all usecases.


It's definitely hard, but why should it be impossible? I don't see the fundamental difference between Git and Hg.


Git and Hg is similar, but that is not all there is to the DVCS space. Fossil target a different use case. Darcs have an entirely different underlying structure, which enables different abilities, especially during merging. I find it hard to believe that a single tool can be the best for

  * Huge monorepos and thousands of developers
  * Repos with huge binary files
  * Repos with few developers
  * Personal repos.
  * CD repos
  * Interconnected repos
Even if two different repository technologies are more or less equivalent, some things might be too cumbersome in one but not the other.


Hg actually cared about the user interface. Git didn't.


Would you hold the stance of only one way to do things if that one way turned out to be hg instead of git?


Yes. I wouldn't if it was bzr though.


Yes, of course! See my comment above.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: