Re: [dev] Why use Mercurial?

From: Uriel <>
Date: Tue, 16 Feb 2010 19:37:17 +0100

On Sun, Feb 14, 2010 at 4:18 PM, Kris Maglione <> wrote:
> On 2010-02-14, Christoph Schied <> wrote:
>> git's architecture is is nicely layered so that one can use very
>> lowlevel stuff but one also can combine it to more comfortable tools
>> like git does it. The bloat you are talking about is mostly in small
>> scripts that are layered above git core functionality. And mercurial
>> does have many "bloat" and plugins in its core distribution as well. And
>> i think every suckless-alarm-bell should ring when you merely can hear
>> the word python ;)
> Don't be absurd. Python is a fairly reasonable high level
> language.

I use python quite a bit this days, and it SUCKS and is full of
totally retarded idiotic shit, and they just keep adding more of it.

One can write half decent code in Python by avoiding all the retarded
'features', and it is better than most languages (it doesn't reach the
level of insanity of Ruby or Perl), but the language is full of really
awful stuff (multiple inheritance, metaclasses, string encoding
system, ...), and some of its inherent limitations are really pathetic
(no decent concurrency, and while stackless is an improvement, it is
extremely limited and will never be part of standard python).

>  It makes it easy to write dense and readable code.

No it doesn't, it encourages really bad code by making it 'easy'.
Which means retards love to think they can program, and makes smart
assholes think they are way smarter than they really are and create
byzantine systems that are almost as bad as those found in Java if not
worse (java has no metaclasses or multiple inheritance, so while its
frameworks tend to be much bigger, the language concepts involved are
much more straightforward).

> It definitely has some speed and memory disadvantages over C, but
> those aren't a major issue when it comes to Mercurial. The CPU
> intensive parts of the core are written in C, and the end result
> is a very fast and efficient VCS.

This is completely true. Still, writing a VCS is the ideal task for a
language like Go.

> As for bloat, as you've mentioned, Mercurial's bloat is mostly
> factored out into plugins.

This is a typical excuse used by much software, and it is a bad one:
plugin systems are *evil*. Applications should not be 'extensible'
they should simply play by the unix rules and integrate well with the
rest of the unix ecosystem and there should be no need to provide
plugin apis that tie other functionality tightly into the program code
and forces you to use a certain language and so on.

All that functionality should be available via commands and pipes, and
in this it seems git might be a bit better than mercurial, although it
seems that they have been moving down the 'we need to librarize
everything' route too... *sigh*


> The core is generally simple,
> elegant, and easy to understand. There are definitely advantages
> to git's core, but simplicity is not among them. There may be
> simple ways to do a lot of common tasks, but finding them is
> nearly impossible. The whole suite is very, well, GNU.
Received on Tue Feb 16 2010 - 18:37:17 UTC

This archive was generated by hypermail 2.2.0 : Tue Feb 16 2010 - 18:48:02 UTC