unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Ergus <spacibba@aol.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Is Elisp really that slow?
Date: Thu, 16 May 2019 22:23:27 +0200	[thread overview]
Message-ID: <20190516202327.5cgy2s4kppy3ahxa@Ergus> (raw)
In-Reply-To: <838sv6cmwt.fsf@gnu.org>

Hi Eli:

I agree a little bit too much here. But... 

>
>Emacs is an old program, with users who stay with it for 25 and more
>years.  Changing old defaults or making other incompatible changes
>definitely annoys at least some of those users, especially since quite
>a few people don't track the development, and don't see the changes
>until years later, sometimes even after skipping several releases
>in-between.  This isn't theory, this is our (and my personal) actual
>experience from watching Emacs development.  When someone comes up and
>asks why we made a certain change in how Emacs worked for decades, we
>should have a good reason, and if we don't, we shouldn't make the
>change "just because we can".  That's the price of maintaining and
>developing an old and stable program.
>
My point of view since the beginning of my first email ever in the
mailing list was based in 3 things:

1) Some design choices and limitations in the actual emacs were imposed
due to technology 40 years ago. (keyboard bindings, coding system,
screen resolutions, memory available and CPU, network latency, storage
capacity) but most of them are not issues anymore (at least not in the
emacs scales) so we are limiting the potential of emacs due to issues
that disappeared long time ago.

2) Many new features and functionalities (pure editing oriented) have
been introduced/proved/improved in other editors, and they have proven
to be useful (move line, initial configuration, associative bindings,
specific key combinations like in cua-mode, undo/redo and many
others).

An important part of those functionalities are can be implemented with
Elisp in one afternoon probably because they are just details and some
are already available as external packages, but the changes never arrive
because there are not available (practical) keybindings or because of
backward compatibility.

3) The development is not focused in the first thing that a user needs
when she opens emacs: provide the most comfortable and useful TEXT
EDITOR.

If emacs as TEXT EDITOR does not convince them (just the first try,
without config, without reading the manual/tutorial/documentation), then
they will not even try any other functionality. I think that you are one
of the few in this list who sees the importance if attracting new
users/developers. Unlike vim; emacs is not in the gnu/linux distros, it
is slower and bigger... so we need to offer some advantage on the first
try over the others to keep the users.

For example, many people use nano just because the basic actions are in
a button bar, so they don't get stocked and they can do the basic stuff
quick and fast, no installation no config needed.

Look at the spacemacs community and how many members are there wrapping
emacs functionalities to behave like in vim...

>Personally, I wish people would invest much more time and efforts in
>adding new features, and would stop futzing with existing features.
>For starters, the former is much more useful for our users than the
>latter.  Also, I see many times how a change in existing code to make
>some minor improvement introduces bugs, which sometimes are more
>significant than the "fixed" problem -- this is expected in a complex
>stable program, and is a clear sign that changes of existing code long
>since entered the area which engineers call "the limit cycle" --
>oscillations that don't converge, i.e. the overall code quality is
>quasi-constant.  IOW, we are wasting our own resources for little or
>no gain.
>
I would support that the functionalities go in elpa (I say elpa because
it won't need an initial configuration to be used, just list-packages
and install). Because there will be big chances that some other better
alternatives substitute it (ido -> helm -> avy; isearch -> swiper, etags
-> gtags, vc -> magit, ace -> avy) and looking tto the past... nothing
will be removed never ever from the core emacs code.

Also improve the modules API and support to create packages with C as
with elisp. But add the less possible functionalities in the core if
they are not directly editor related (basic ones) or general enough
(infrastructure / API).
>
>> Just give a look how many good packages are in melpa, but not in elpa
>
>If you are saying that those packages are in MELPA because they were
>rejected to be included in Emacs or ELPA, then I'd be very surprised
>to learn that this is true.  I think the vast majority of those
>packages started up with MELPA and their developers never tried to
>submit the packages to be included in Emacs.
>
No, I am saying that there is a reason why they made their work, and
they maintain it, but they don't spend time to put it in the official
repository.



  reply	other threads:[~2019-05-16 20:23 UTC|newest]

Thread overview: 298+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-14 23:54 Is Elisp really that slow? Ergus
2019-05-15 11:57 ` Emanuel Berg
2019-05-15 13:06 ` Dmitry Gutov
2019-05-15 13:25   ` Óscar Fuentes
2019-05-15 13:30     ` Dmitry Gutov
2019-05-15 14:18       ` Óscar Fuentes
2019-05-15 14:45         ` Dmitry Gutov
2019-05-15 15:14           ` Óscar Fuentes
2019-05-15 15:39             ` Dmitry Gutov
2019-05-15 15:51               ` Óscar Fuentes
2019-05-15 16:05                 ` Óscar Fuentes
2019-05-15 16:07                   ` Dmitry Gutov
2019-05-15 16:05                 ` Dmitry Gutov
2019-05-15 16:12                   ` Óscar Fuentes
2019-05-15 16:15                     ` Dmitry Gutov
2019-05-15 20:23                       ` Óscar Fuentes
2019-05-15 20:30                         ` Dmitry Gutov
2019-05-15 15:42             ` Stefan Monnier
2019-05-15 17:29               ` Drew Adams
2019-05-15 19:38                 ` Ergus
2019-05-15 19:53                   ` Drew Adams
2019-05-15 20:09                     ` Ergus
2019-05-15 23:24                       ` Emanuel Berg
2019-05-15 20:46             ` Ergus
2019-05-15 23:30               ` Emanuel Berg
2019-05-15 23:12             ` Emanuel Berg
2019-05-15 19:47           ` Ergus
2019-05-15 19:45         ` Ergus
2019-05-15 15:18     ` Stefan Monnier
2019-05-15 15:34       ` Óscar Fuentes
2019-05-15 15:51         ` Stefan Monnier
2019-05-15 17:30           ` John Yates
2019-05-15 19:29             ` Ergus
2019-05-15 20:15   ` Ergus
2019-05-15 20:21     ` Dmitry Gutov
2019-05-15 20:57       ` Ergus
2019-05-15 21:00         ` Dmitry Gutov
2019-05-15 21:17           ` Ergus
2019-05-17 11:09             ` Dmitry Gutov
2019-05-15 15:07 ` Uniformity (was: Is Elisp really that slow?) Stefan Monnier
2019-05-15 15:24   ` Uniformity Óscar Fuentes
2019-05-15 15:45     ` Uniformity Stefan Monnier
2019-05-15 19:58   ` Uniformity (was: Is Elisp really that slow?) Ergus
2019-05-18 23:51   ` Emanuel Berg
2019-05-15 15:14 ` Is Elisp really that slow? Eli Zaretskii
2019-05-15 15:40   ` Óscar Fuentes
2019-05-15 16:14     ` Eli Zaretskii
2019-05-15 16:23       ` Tadeus Prastowo
2019-05-15 16:27         ` tomas
2019-05-15 17:00         ` Eli Zaretskii
2019-05-15 20:09           ` Óscar Fuentes
2019-05-16 13:12             ` Eli Zaretskii
2019-05-16 13:40               ` Óscar Fuentes
2019-05-16 14:06                 ` Eli Zaretskii
2019-05-15 21:09       ` Ergus
2019-05-16 14:12         ` Eli Zaretskii
2019-05-16 16:14           ` Ergus
2019-05-16 17:46             ` Eli Zaretskii
2019-05-16 20:23               ` Ergus [this message]
2019-05-16 20:50                 ` Óscar Fuentes
2019-05-16 22:46                   ` Ergus
2019-05-16 23:19                     ` Óscar Fuentes
2019-05-28 21:08                     ` Emanuel Berg via help-gnu-emacs
2019-05-28 21:50                       ` Drew Adams
2019-05-17  1:28                   ` Jean-Christophe Helary
2019-05-17  2:26                     ` Óscar Fuentes
2019-05-17  4:05                       ` Jean-Christophe Helary
2019-05-17  6:08                         ` Ergus
2019-05-17  9:21                           ` tomas
2019-05-17 14:01                             ` Óscar Fuentes
2019-05-17 14:16                               ` Dmitry Gutov
2019-05-17 14:50                                 ` Óscar Fuentes
2019-05-17 18:19                                   ` Dmitry Gutov
2019-05-17 19:23                                     ` Óscar Fuentes
2019-05-17 20:51                                       ` Dmitry Gutov
2019-05-17 16:37                                 ` tomas
2019-05-17 16:50                                   ` Óscar Fuentes
2019-05-17 17:05                                     ` Óscar Fuentes
2019-05-17 18:11                                       ` Dmitry Gutov
2019-05-17 18:16                                     ` Dmitry Gutov
2019-05-17 18:14                                   ` Dmitry Gutov
2019-05-30 12:09                               ` Emanuel Berg via help-gnu-emacs
2019-06-25 16:48                                 ` Jean Louis
2019-05-29  4:58                           ` Emanuel Berg via help-gnu-emacs
2019-05-17 13:46                         ` Óscar Fuentes
2019-05-29  4:26                         ` Emanuel Berg via help-gnu-emacs
2019-05-17  5:52                       ` Ergus
2019-05-17  9:01                         ` Eli Zaretskii
2019-05-17 12:35                           ` Ergus
2019-05-17 13:13                             ` Eli Zaretskii
2019-05-17 13:22                               ` Dmitry Gutov
2019-05-17 13:39                                 ` Eli Zaretskii
2019-05-17 15:07                                   ` Óscar Fuentes
2019-05-18 15:41                                     ` Dmitry Gutov
2019-05-17 15:39                                   ` Ergus
2019-05-17 15:47                                     ` Noam Postavsky
2019-05-17 15:48                                     ` Eli Zaretskii
2019-05-17 19:24                               ` Ergus
2019-05-17 20:12                                 ` Eli Zaretskii
2019-05-19 13:38                                   ` Ergus
2019-05-19 13:42                                     ` Noam Postavsky
2019-06-06  3:24                                     ` Emanuel Berg via help-gnu-emacs
2019-06-05  6:05                                   ` Emanuel Berg via help-gnu-emacs
2019-06-05  4:44                                 ` Emanuel Berg via help-gnu-emacs
2019-06-06 21:06                                   ` Xavier Maillard
2019-06-07 19:01                                     ` Emanuel Berg via help-gnu-emacs
2019-05-31 15:50                               ` Emanuel Berg via help-gnu-emacs
2019-05-31 17:57                                 ` Eli Zaretskii
2019-06-07 18:46                                   ` Emanuel Berg via help-gnu-emacs
2019-06-02 10:49                                 ` Stefan Huchler
2019-06-02 19:16                                   ` Marcin Borkowski
2019-06-02 22:49                                     ` Stefan Huchler
2019-06-07 18:55                                     ` Emanuel Berg via help-gnu-emacs
2019-06-07 18:53                                   ` Emanuel Berg via help-gnu-emacs
2019-05-17 14:21                             ` Óscar Fuentes
2019-05-17 15:02                             ` Drew Adams
2019-05-17 16:29                           ` Stefan Huchler
2019-05-17 17:19                             ` Ergus
2019-06-05  2:29                               ` Emanuel Berg via help-gnu-emacs
2019-06-04 22:29                             ` Emanuel Berg via help-gnu-emacs
2019-05-30  3:30                           ` Emanuel Berg via help-gnu-emacs
2019-05-17 14:12                         ` Óscar Fuentes
2019-05-17  8:54                       ` Dmitry Gutov
2019-05-17  9:36                         ` Eli Zaretskii
2019-05-17 11:09                           ` Dmitry Gutov
2019-05-17 12:04                             ` Eli Zaretskii
2019-05-17 12:56                               ` Ergus
2019-05-17 13:31                                 ` Eli Zaretskii
2019-05-17 15:03                                 ` Drew Adams
2019-06-04  1:27                                   ` Emanuel Berg via help-gnu-emacs
2019-05-31 19:03                                 ` Emanuel Berg via help-gnu-emacs
2019-06-01  8:17                                   ` Jean Louis
2019-06-07 18:49                                     ` Emanuel Berg via help-gnu-emacs
2019-05-17 13:17                               ` Dmitry Gutov
2019-05-17 13:35                                 ` Eli Zaretskii
2019-05-17 13:43                                   ` Dmitry Gutov
2019-05-17 14:36                                     ` Eli Zaretskii
2019-05-18 16:54                                       ` Dmitry Gutov
2019-05-18 17:17                                         ` Eli Zaretskii
2019-05-18 22:43                                           ` Dmitry Gutov
2019-05-18 23:54                                             ` Óscar Fuentes
2019-05-19  0:24                                               ` 조성빈
2019-05-19  5:24                                                 ` Óscar Fuentes
2019-05-19 15:18                                                   ` Stefan Huchler
2019-05-19 18:40                                                     ` Óscar Fuentes
2019-05-20  6:47                                                       ` tomas
2019-05-20 14:57                                                         ` Drew Adams
2019-05-20 15:28                                                         ` Óscar Fuentes
2019-06-06  5:16                                                           ` Emanuel Berg via help-gnu-emacs
2019-05-21 12:19                                                         ` Van L
2019-05-23 20:01                                                     ` Robert Thorpe
2019-05-23 23:05                                                       ` Stefan Huchler
2019-05-24 14:40                                                         ` Robert Thorpe
2019-05-25  0:07                                                           ` Stefan Huchler
2019-05-25 10:54                                                             ` Robert Thorpe
2019-06-06  6:02                                                       ` Emanuel Berg via help-gnu-emacs
2019-06-06  0:16                                                     ` Emanuel Berg via help-gnu-emacs
2019-06-06  0:08                                                   ` Emanuel Berg via help-gnu-emacs
2019-06-06  0:06                                                 ` Emanuel Berg via help-gnu-emacs
2019-05-19  2:40                                             ` Eli Zaretskii
2019-05-31 21:04                                       ` Emanuel Berg via help-gnu-emacs
2019-05-31 15:05                               ` Emanuel Berg via help-gnu-emacs
2019-05-17 14:40                             ` Óscar Fuentes
2019-06-02  2:00                               ` Emanuel Berg via help-gnu-emacs
2019-05-19 18:35                           ` Stefan Monnier
2019-05-19 19:23                             ` 조성빈
2019-05-20  6:53                             ` tomas
2019-06-06  5:03                             ` Emanuel Berg via help-gnu-emacs
2019-06-11 13:06                             ` Ergus via help-gnu-emacs
2019-06-11 13:37                               ` Óscar Fuentes
2019-06-12  1:08                                 ` Ergus via help-gnu-emacs
2019-05-30 21:30                           ` Emanuel Berg via help-gnu-emacs
2019-05-30 21:25                         ` Emanuel Berg via help-gnu-emacs
     [not found]                       ` <<20190517055202.ted62gt6hqcip7xt@Ergus>
     [not found]                         ` <<83mujlbgjh.fsf@gnu.org>
2019-05-17 15:03                           ` Drew Adams
2019-06-04  1:20                             ` Emanuel Berg via help-gnu-emacs
2019-06-04  1:50                               ` Emanuel Berg via help-gnu-emacs
2019-05-28 23:16                       ` Emanuel Berg via help-gnu-emacs
2019-05-17  9:05                     ` tomas
2019-05-28 21:54                     ` Emanuel Berg via help-gnu-emacs
2019-05-17  8:47                   ` Dmitry Gutov
2019-05-17 15:22                     ` Óscar Fuentes
2019-05-17 18:28                       ` Dmitry Gutov
2019-05-17 19:55                         ` Óscar Fuentes
2019-06-04  1:41                           ` Emanuel Berg via help-gnu-emacs
2019-06-04  1:38                         ` Emanuel Berg via help-gnu-emacs
2019-06-04  1:37                       ` Emanuel Berg via help-gnu-emacs
2019-05-31  3:36                     ` Emanuel Berg via help-gnu-emacs
2019-05-17  8:55                   ` tomas
2019-05-17 15:02                     ` Drew Adams
2019-05-31  4:52                       ` Emanuel Berg via help-gnu-emacs
2019-05-27 14:30                   ` Emanuel Berg via help-gnu-emacs
2019-05-29  5:02                     ` Xavier Maillard
2019-06-07 18:40                       ` Emanuel Berg via help-gnu-emacs
2019-05-17  6:24                 ` Eli Zaretskii
2019-05-30 17:58                   ` Emanuel Berg via help-gnu-emacs
2019-05-25  8:22                 ` Emanuel Berg via help-gnu-emacs
2019-05-25  9:05                   ` 조성빈 via help-gnu-emacs
2019-05-25  5:14               ` Emanuel Berg via help-gnu-emacs
2019-05-25  4:42           ` Emanuel Berg via help-gnu-emacs
2019-05-25  6:31             ` Eli Zaretskii
2019-06-07 18:34               ` Emanuel Berg via help-gnu-emacs
2019-06-07 20:21                 ` Eli Zaretskii
2019-05-19  0:03         ` Emanuel Berg
2019-05-19  8:16           ` Van L
2019-05-19 10:35             ` 조성빈
2019-05-19 12:48               ` Van L
2019-05-19 13:13                 ` Ergus
2019-06-06  2:54                   ` Emanuel Berg via help-gnu-emacs
2019-05-19 13:00               ` Ergus
2019-05-19 14:57                 ` 조성빈
2019-06-06  3:08                   ` Emanuel Berg via help-gnu-emacs
2019-05-19 13:05               ` Ergus
2019-05-21 12:00                 ` Van L
2019-06-06  3:20                   ` Emanuel Berg via help-gnu-emacs
2019-06-06  0:52               ` Emanuel Berg via help-gnu-emacs
2019-06-06  0:53               ` Emanuel Berg via help-gnu-emacs
2019-05-19 14:32             ` Drew Adams
2019-05-21 12:09               ` Van L
2019-06-06  0:43             ` Emanuel Berg via help-gnu-emacs
2019-06-06  2:12               ` Drew Adams
2019-05-23 20:16           ` Robert Thorpe
2019-06-07 18:23             ` Emanuel Berg via help-gnu-emacs
2019-06-08 20:12               ` Robert Thorpe
2019-06-09 13:37                 ` Tomas Nordin
2019-06-09 13:50                   ` tomas
2019-06-10 22:55                     ` Emanuel Berg via help-gnu-emacs
2019-06-12  9:16                       ` [offtopic] " Van L
2019-06-12  9:28                         ` tomas
2019-06-12 11:31                           ` Van L
2019-06-12 11:44                             ` tomas
2019-06-14  4:12                           ` Xavier Maillard
2019-06-14  7:07                           ` tomas
2019-06-12 11:16                         ` [offtopic] " Jean-Christophe Helary
2019-06-12 13:28                           ` Van L
2019-05-16 23:31   ` Emanuel Berg
  -- strict thread matches above, loose matches on Subject: below --
2019-05-16  1:32 Ergus
2019-05-22  7:13 ` Emanuel Berg
2019-05-16  1:19 Ergus
2019-05-20 11:32 ` Emanuel Berg
2019-05-02 21:40 Why is Elisp slow? Ergus
2019-05-02 23:39 ` 조성빈
2019-05-03  0:44   ` Ergus
2019-05-10 13:14     ` Van L
2019-05-10 13:22       ` Michael Heerdegen
2019-05-11  0:38         ` Emanuel Berg
2019-05-11  7:32           ` Is Elisp really that slow? (was: Why is Elisp slow?) tomas
2019-05-11  7:42             ` 조성빈
2019-05-11  7:57               ` tomas
2019-05-11 23:09                 ` Emanuel Berg
2019-05-12  7:54                   ` tomas
2019-05-12  9:46                     ` 조성빈
2019-05-12 14:21                       ` Eli Zaretskii
2019-05-12 14:45                         ` Is Elisp really that slow? Óscar Fuentes
2019-05-12 15:28                           ` Eli Zaretskii
2019-05-12 15:46                             ` Óscar Fuentes
2019-05-12 17:20                               ` Eli Zaretskii
2019-05-12 18:37                                 ` Óscar Fuentes
2019-05-12 18:53                                   ` Eli Zaretskii
2019-05-13  1:44                                     ` Emanuel Berg
2019-05-12 21:18                                   ` Stefan Monnier
2019-05-12 22:22                                     ` Óscar Fuentes
2019-05-14 13:39                                       ` Stefan Monnier
2019-05-14 15:09                                         ` Óscar Fuentes
2019-05-13  0:57                                     ` Samuel Wales
2019-05-13 12:37                                       ` Stefan Monnier
2019-05-13 14:23                                         ` Emanuel Berg
2019-05-13 14:33                                         ` Emanuel Berg
2019-05-14  8:24                                           ` tomas
2019-05-14 13:21                                             ` Emanuel Berg
2019-05-14 14:44                                               ` tomas
2019-05-15 11:25                                                 ` Emanuel Berg
2019-05-15 12:05                                                   ` tomas
2019-05-15 23:02                                                     ` Emanuel Berg
2019-05-16  6:48                                                       ` tomas
2019-05-16  9:37                                                         ` Noam Postavsky
2019-05-16 11:02                                                           ` tomas
2019-05-23 14:23                                                             ` Emanuel Berg
2019-05-24  1:33                                                               ` Van L
2019-05-16 13:31                                                       ` Eli Zaretskii
2019-05-23 14:28                                                         ` Emanuel Berg
2019-05-23 14:54                                                           ` Drew Adams
2019-05-23 14:55                                                           ` Eli Zaretskii
2019-06-06  5:18                                                             ` Emanuel Berg via help-gnu-emacs
2019-05-16 14:45                                                   ` Stefan Monnier
2019-05-25  4:53                                                     ` Emanuel Berg via help-gnu-emacs
2019-05-13  1:52                                     ` Emanuel Berg
2019-05-13  1:35                                   ` Emanuel Berg
2019-05-12 21:01                               ` Stefan Monnier
2019-05-13  1:27                             ` Emanuel Berg
2019-05-13 14:38                               ` Eli Zaretskii
2019-05-13 15:00                                 ` Emanuel Berg
2019-05-13 15:25                                   ` Eli Zaretskii
2019-05-14 11:54                                     ` Emanuel Berg
2019-05-14 16:21                                       ` Eli Zaretskii
2019-05-14 17:05                                         ` Emanuel Berg
2019-05-14 18:30                                           ` Eli Zaretskii
2019-05-15 11:27                                             ` Emanuel Berg
2019-05-15 14:51                                               ` Eli Zaretskii
2019-05-16 23:19                                                 ` Emanuel Berg
2019-05-17  6:41                                                   ` Eli Zaretskii
2019-05-13 15:02                                 ` John Yates
2019-05-13 15:14                                   ` Eli Zaretskii
2019-05-13 22:40                                 ` Dmitry Gutov
2019-05-14  6:27                                 ` Paul W. Rankin
2019-05-14 13:10                                   ` Emanuel Berg
2019-05-13 15:42                               ` Van L
2019-05-17 15:17                           ` Ken Goldman
2019-06-04  1:36                             ` Emanuel Berg via help-gnu-emacs
2019-06-08  0:26             ` Is Elisp really that slow? (was: Why is Elisp slow?) Samuel Wales
2019-06-08  8:52               ` tomas
2019-06-08 21:00                 ` Samuel Wales
2019-06-08 21:14                   ` tomas
2019-06-08 21:44                     ` Is Elisp really that slow? Óscar Fuentes
2019-06-08 23:29                       ` Emanuel Berg via help-gnu-emacs
2019-06-11  4:10                       ` Xavier Maillard
     [not found] <<878sv7sp3r.fsf@telefonica.net>

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=20190516202327.5cgy2s4kppy3ahxa@Ergus \
    --to=spacibba@aol.com \
    --cc=eliz@gnu.org \
    --cc=help-gnu-emacs@gnu.org \
    /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.
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).