emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Development Speed


From: Óscar Fuentes
Subject: Re: Development Speed
Date: Wed, 22 Dec 2021 16:51:41 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Óscar Fuentes <ofv@wanadoo.es>
>> Date: Wed, 22 Dec 2021 11:09:09 +0100
>> 
>> The amount of tension and obstructionism that emerges every time that
>> someone suggests implementing some technology less than 20 years old is
>> overwhelming.
>
> Generalizations are almost always risking losing accuracy, but this
> one does that with a vengeance.  I think it's not only inaccurate
> (when talking about Emacs development), but also simply unfair.  E.g.,
> some of the recent developments in Emacs use technology that is much
> newer than "20 years", and I challenge you to come up with examples
> that could back up your generalization, or even come close.

Example: the painful road from CVS to a modern VC system (first bzr and
then Git when was clear that bzr was inadequate at several levels, as
some warned before it was adopted.) And then many contributors didn't
bother to adapt to the distributed workflow and keep using Git as if it
were CVS, which makes the VC history hard to follow and of diminished
value.

Another example: the mailing list used as a bug tracker. We went from no
tracker at all to a big hack that happens to accommodate the personal
preferences of a few contributors while making things harder for
everyone else. Basic things like subscribing to a bug are too advanced:
you either monitor the mailing list or out of touch.

Another example: the amount of old cruft and hacks that pervades the
source code, prominently the C part.

The motif port was re-enabled with the excuse of two users saying that
they use it (two users! which actually didn't actually said that they
use the port, just that they build it.)

A the same time someone suggested experimenting with a new approach to
display and he was shunned ("We tried with such a library, many eons
ago. It was named lwlib, and you can judge for yourself how successful
it is.") Right, because if it failed many eons ago, trying again is
doomed to fail for sure, as technologies in software change as often as
in medieval masonry; and what the OP was suggesting is not what lwlib
does, IIUC.

So we maintain old code because two people "complain" (they didn't) and
meet with... let's say skepticism, proposals that seem to require
significant changes on the source base but with a high impact on
improving Emacs' potential. Lots of features and fixes are made trying
to not change the "stable" code, that's why we end having functions over
1000 lines long sprinkled with #ifdefs, which not only make any
substantial change very difficult, but are a big red sign saying "here
be dragons."

Emacs' architecture favors plug-in components, in the form of Elisp
packages, external processes and C libraries exposed to Elisp. That's
what keeps Emacs somewhat competitive, often thanks to heroic efforts.
But working on certain key parts of the core is very hard, both
technically and socially. You are concerned about the lack of C
contributors, but I think your worries are not well focused: there are
still plenty of C hackers around, but do they see our C core as
something they would enjoy contributing to?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]