From: Eli Zaretskii <eliz@gnu.org>
To: "Óscar Fuentes" <ofv@wanadoo.es>
Cc: emacs-devel@gnu.org
Subject: Re: Development Speed
Date: Wed, 22 Dec 2021 19:12:17 +0200 [thread overview]
Message-ID: <83wnjwwolq.fsf@gnu.org> (raw)
In-Reply-To: <87k0fwy6wi.fsf@telefonica.net> (message from Óscar Fuentes on Wed, 22 Dec 2021 16:51:41 +0100)
> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Wed, 22 Dec 2021 16:51:41 +0100
>
> 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.
That's a lopsided view of what happened, with denigrating epithets
("painful", "inadequate") to season it. The switch to bzr was no more
painful than any switch from a centralized VCS to a dVCS could be
expected to be. At the time we switched, bzr was a viable
alternative, used by several other projects (some of which kept using
it long after we switched to Git). And how the problem with
contributors' mindsets is any evidence in favor of your argument is a
mystery to me.
> 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 lopsided view: we are looking for a better system for quite
some time, and until now none was found to satisfy our basic
requirements. Hopefully, sourcehut will.
For a more balanced view, try to find a project that is happy with its
bug tracker. I'm still looking.
> Another example: the amount of old cruft and hacks that pervades the
> source code, prominently the C part.
Really? Like what?
And how is this a "technology" problem? Or would you like us to
rewrite Emacs in Rust?
Come on, get real! This is supposed to be a serious discussion, not a
mud-throwing match.
> 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.)
And how is this any evidence that we procrastinate in our acceptance
of new technology? Does Motif support disallow any such advances?
> 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.
Maybe you misunderstood what the OP was suggesting. Or maybe you have
some different suggestion in mind, because what he was suggesting
makes no sense to me. Do we have to accept any suggestion whatsoever,
no matter if it does or doesn't make sense, lest Óscar will accuse us
of being backward?
> 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."
No, we maintain old code because it works and because we decide not to
break it. It's a decision which has reasons, you just choose to
ignore them because you want to make a point in an argument.
And how is this any evidence of (not) accepting new technologies,
anyway? Or are we changing the subject now to something like "all I
hated in Emacs development but was afraid to say out loud"?
> 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?
That is against any reasonable experience and facts on so many levels
that I don't know where to start. Here's several items, as food for
thought:
. Emacs extensibility via Lisp can only go so far, sooner or later
it hits a wall. Some extensions and major developments need
changes in C, and any attempt to kludge^H^H^H^H^H^Hplug them in
with Lisp is bound to fail. Evidence: linum vs native line
numbers. Evidence: bidirectional editing (which originally had a
Lisp implementation which went nowhere). Evidence: HarfBuzz vs
"ligatures" via prettify-symbols-mode.
. Working on the C level requires certain efforts, but is far from
being impossible for novices. Evidence: face-extension feature
and display-fill-column-indicator-mode feature that was coded by
someone who started from almost zero knowledge of the display
code. Evidence: several people who started working on the C code
just recently (see Git logs).
. Reasons why "plenty of C hackers", if they indeed exist (and IME
the jury is still out on that one), need serious investigation.
I have my guesses about that, but they will remain unsaid at this
point.
Bottom line: I find that Emacs recently picks up quite a few new
technologies, and for an old and stable program such as Emacs we
should be proud of what we accomplished.
next prev parent reply other threads:[~2021-12-22 17:12 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-21 10:52 Development Speed xenodasein--- via Emacs development discussions.
2021-12-21 11:05 ` Po Lu
2021-12-21 11:25 ` xenodasein--- via Emacs development discussions.
2021-12-21 11:37 ` Po Lu
2021-12-21 14:47 ` xenodasein--- via Emacs development discussions.
2021-12-22 0:56 ` Po Lu
2021-12-22 1:05 ` xenodasein--- via Emacs development discussions.
2021-12-21 12:05 ` Stefan Kangas
2021-12-21 12:20 ` Theodor Thornhill
2021-12-21 14:14 ` xenodasein--- via Emacs development discussions.
2021-12-21 14:48 ` Eli Zaretskii
2021-12-22 4:16 ` Richard Stallman
2021-12-22 10:09 ` Óscar Fuentes
2021-12-22 10:22 ` Po Lu
2021-12-22 10:38 ` Óscar Fuentes
2021-12-22 10:45 ` Po Lu
2021-12-22 13:47 ` Eli Zaretskii
2021-12-23 3:43 ` Richard Stallman
2021-12-23 9:50 ` Óscar Fuentes
2021-12-23 10:37 ` Po Lu
2021-12-23 10:52 ` Óscar Fuentes
2021-12-23 10:54 ` Arthur Miller
2021-12-24 4:13 ` Richard Stallman
2021-12-24 4:13 ` Richard Stallman
2021-12-22 14:21 ` Dmitry Gutov
2021-12-23 1:00 ` Po Lu
2021-12-23 1:05 ` Dmitry Gutov
2021-12-23 1:07 ` Po Lu
2021-12-23 2:18 ` dick
2021-12-23 6:39 ` Eli Zaretskii
2021-12-23 10:46 ` Dmitry Gutov
2021-12-23 12:54 ` Arthur Miller
2021-12-22 13:41 ` Eli Zaretskii
2021-12-22 15:51 ` Óscar Fuentes
2021-12-22 16:43 ` Can we give Eli a break, please? [ Was: Re: Development Speed ] Alan Mackenzie
2021-12-22 17:07 ` Óscar Fuentes
2021-12-22 17:12 ` dick
2021-12-22 17:43 ` Eli Zaretskii
2021-12-22 17:12 ` Eli Zaretskii [this message]
2021-12-22 18:49 ` Development Speed Óscar Fuentes
2021-12-23 3:43 ` Richard Stallman
2021-12-23 10:13 ` Óscar Fuentes
2021-12-23 10:35 ` Po Lu
2021-12-23 10:47 ` Óscar Fuentes
2021-12-23 10:50 ` Po Lu
2021-12-23 10:59 ` Óscar Fuentes
2021-12-23 11:05 ` Po Lu
2021-12-23 11:16 ` Óscar Fuentes
2021-12-24 4:13 ` Richard Stallman
2021-12-24 4:13 ` Richard Stallman
2021-12-23 10:23 ` Arthur Miller
2021-12-24 4:13 ` Richard Stallman
2021-12-22 14:41 ` xenodasein--- via Emacs development discussions.
-- strict thread matches above, loose matches on Subject: below --
2021-12-22 0:52 xenodasein--- via Emacs development discussions.
2021-12-22 1:16 ` Po Lu
2021-12-22 12:41 ` Eli Zaretskii
2021-12-22 15:15 ` xenodasein--- via Emacs development discussions.
2021-12-22 16:37 ` Eli Zaretskii
2021-12-23 13:36 ` xenodasein--- via Emacs development discussions.
2021-12-23 13:42 ` Po Lu
2021-12-23 13:48 ` xenodasein--- via Emacs development discussions.
2021-12-23 16:36 ` Stefan Monnier
2021-12-23 17:02 ` xenodasein--- via Emacs development discussions.
2021-12-24 0:21 ` Po Lu
2021-12-24 20:21 ` Tim Cross
2021-12-23 16:35 ` Stefan Monnier
2021-12-23 17:35 ` xenodasein--- via Emacs development discussions.
2021-12-23 19:12 ` Stefan Monnier
2021-12-23 19:53 ` xenodasein--- via Emacs development discussions.
2021-12-23 20:10 ` Stefan Monnier
2021-12-23 20:16 ` Eli Zaretskii
2021-12-23 22:07 ` xenodasein--- via Emacs development discussions.
2021-12-24 7:00 ` Eli Zaretskii
2021-12-25 5:16 ` Richard Stallman
2021-12-25 5:22 ` Po Lu
2021-12-25 7:03 ` Eli Zaretskii
2021-12-25 15:55 ` Stefan Monnier
2021-12-25 5:16 ` Richard Stallman
2021-12-24 1:33 ` Sean Whitton
2021-12-24 14:06 ` Stefan Monnier
2021-12-24 14:39 ` Óscar Fuentes
2021-12-22 15:21 ` xenodasein--- via Emacs development discussions.
2021-12-22 16:42 ` Eli Zaretskii
2021-12-23 13:57 ` xenodasein--- via Emacs development discussions.
2021-12-23 14:37 ` Eli Zaretskii
2021-12-19 17:06 xenodasein--- via Emacs development discussions.
2021-12-20 0:31 ` Po Lu
2021-12-20 4:16 ` xenodasein--- via Emacs development discussions.
2021-12-20 5:12 ` Po Lu
2021-12-20 8:16 ` Philip Kaludercic
2021-12-20 14:30 ` Stefan Monnier
2021-12-20 15:51 ` xenodasein--- via Emacs development discussions.
[not found] ` <MrLr14W--3-2@tutanota.de>
[not found] ` <87lf0f1vko.fsf@yahoo.com>
2021-12-20 15:49 ` xenodasein--- via Emacs development discussions.
2021-12-21 1:06 ` Po Lu
2021-12-21 10:25 ` xenodasein--- via Emacs development discussions.
2021-12-21 10:31 ` Po Lu
2021-12-21 14:39 ` Eli Zaretskii
2021-12-20 10:31 ` Lars Ingebrigtsen
2021-12-21 4:15 ` Richard Stallman
2021-12-21 5:55 ` Eli Zaretskii
2021-12-21 11:09 ` xenodasein--- via Emacs development discussions.
2021-12-21 14:52 ` Eli Zaretskii
2021-12-22 0:55 ` xenodasein--- via Emacs development discussions.
2021-12-22 12:44 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83wnjwwolq.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=ofv@wanadoo.es \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).