Bazaar-NG: Seven years of hacking on a distributed version control system (2012)
stationary-traveller.eu
stationary-traveller.eu
I that tends to be so because once your data structure are set in stone, the complexity of the implementation follows. You can always work to improve performance, but without redesigning your basic concepts you'll only go so far.
There are similarities in other areas than theoretic complexity models. I tried a phone a while ago. It waws promising but the UI was far from smooth. The person I spoke with insisted that it's a first version and performance will surely improve. But if your basic drawing primitives isn't smooth by design, your final version will never be. The comparison is far from perfect of course, but provides food for my thoughts.
If an UI is slow, surely you can find a more efficient way to draw the elements on the screen, or to reduce their resource consumption, or just give the UI better hardware.
You can always optimize. Some design decisions make this hard, but I think you can always work around them.
The killer feature of bzr for me is that it is just a nice interface in front of a dozen different VCS data structures. Some of these were worse than the only one supported by git, others were much better.
What made me switch from bzr to git around 2011 is:
* slowness compared to git. I have `git status` in my command prompt, it takes a split second. I could not have `bzr status` in my command prompt: it took it about 2 seconds for it to complete. This is mostly due to it being written in Python: the startup time is just too big.
* inability to rewrite history. bzr almost forces you to see "how the sausages are done". There are many pros to this approach, but I could not stand having to go through a complex pipeline system just to fix a typo in a certain commit message or reorder two completely independent commits. I moved to git after the first time I run `git rebase -i`.
* The horrible Canonical appropriation. I was fine with the CLA imposed by Canonical on bzr but I could not stand the announcement that bzr was moving from http://bazaar-vcs.org/ to http://bazaar.canonical.com/ [1]. The move itself was unpleasant but the following quote really got on my nerves:
> Canonical wants to more clearly show its support for Bazaar, while still recognizing that Bazaar is more than just Canonical and has its own community.
The way you recognize Bazaar is more than just Canonical is to move from a generic domain to canonical.com subdomain? OK, bye.
[1] https://lists.ubuntu.com/archives/bazaar/2009q4/063183.html
I learned an awful lot. Time for something new.