emacs-devel
[Top][All Lists]
Advanced

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

Re: Development Speed


From: Eli Zaretskii
Subject: Re: Development Speed
Date: Tue, 21 Dec 2021 16:39:40 +0200

> Date: Tue, 21 Dec 2021 11:25:06 +0100 (CET)
> From: xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
> Please take a look at Neovim, there is no comparison.

Neovim is very young.  Emacs is being developed 4 times as long as
Neovim.  Let's talk when Neovim is comparably old (if it's still
around at that time).

> Also the entanglement of TUI and GUI; there is no clear separation without
> breaking a lot of lisp code. For example trying to make a minibuffer frame on 
> TUI
> just returns nil, as they use the same functions.

This is a feature: Lisp programs almost never need to know whether
they run on text-mode or GUI displays.  If a Lisp program had to ask
on every step whether the display is TTY or GUI, the application could
would be much more complex and hard to read and maintain.  It used to
be that way at some distant past, but we deliberately implemented most
of the GUI features on TTYs: multiple frames, colors (with transparent
translation of X colors), mouse support, menus and dialogs -- in order
to eliminate most of the differences on the Lisp level.  I'm amazed
that you think this is a disadvantage in Emacs.

> > I regularly see people building Emacs with a C99 compiler,
> > and even more people building with a C11 compiler.

We didn't yet move to C11, we require C99.

> > There is no "excuse" needed to not drop older language standards, when
> > the new one is not even universally available.
> 
> Of course the targeting a platform without support is a valid reason but
> making GNU/Linux or Windows users suffer the deficiencies of a platform
> that cannot compile C11 in this day and age is somewhat cruel IMO.

We are not talking about platforms, we are talking about GNU/Linux
systems that still use old GCC versions.  There are quite a lot of
those.  Not everyone runs the latest alpha of the Linux kernel with
the latest snapshot of GCC.  One of the worst "surprises" when
building a new version of a package is to find out it no longer
supports your compiler/linker/libraries, because that's a beginning of
a long journey down the rabbit hole of upgrading your entire system,
and finally probably the hardware as well.  There's nothing nastier
software developers can do to their users than being the tail that
wags the dog.

I'm very happy to say that Emacs was never like that, and I hope it
will never change in this regard.



reply via email to

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