unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: xenodasein@tutanota.de
Cc: luangruo@yahoo.com, emacs-devel@gnu.org
Subject: Re: Adding use-package to core
Date: Mon, 14 Nov 2022 19:39:55 +0200	[thread overview]
Message-ID: <83a64tjuz8.fsf@gnu.org> (raw)
In-Reply-To: <NGqb3DU--3-9@tutanota.de> (xenodasein@tutanota.de)

> Date: Mon, 14 Nov 2022 15:47:43 +0100 (CET)
> From: xenodasein@tutanota.de
> Cc: luangruo@yahoo.com, emacs-devel@gnu.org
> 
> > You are entitled to your opinions, but we disagree, and we have many
> > years of experience to present as evidence.
> >
> > Given such stark differences of assumptions, opinions, and experience
> > in Emacs development, I see no reason to keep arguing about this.
> 
> Experience in accomplishing what exactly?  How can I examine this
> evidence?  I don't know what are your goals, is going down from 5%
> percent to 4% on StackOverflow's survey this year is one of them?

The overall goal is, and always has been, to make Emacs more powerful,
more capable of supporting text-editing and text-processing
applications in more and more areas where people need such
capabilities and applications.  Examine the NEWS files over the last
20 years and ask yourself if that is not happening with every new
major release.

As for the evidence, it's right before your eyes: show me another
similar platform that lived for so many years, and after all these
years still gets developed at the same, if not higher, rate.  What
other evidence do you need?  5000 commits each year for the past 20
years cannot just come from a small band of like-thinking weirdos who
are detached from their users.

> I really want to see this story of success, but wherever I look
> that has numbers tells that you can't compare numbers even with
> Notepad++.

We develop Emacs for those who want and need to use it.  What matters
to us is not the percentage of our users between editors and IDEs,
what matters is where our users want us to advance, and which new
technologies will allow us to provide them with new and improved
capabilities, infrastructure, and applications.

> I find it hard to understand how leaving whoever comes after you an
> even bigger Emacs despite having said currently no one understands
> all parts of it.

No matter how small we make Emacs, no one will ever be able to
understand all of it.  It spans and uses too many too wide areas of
computer processing technologies for any single person to be able to
understand it.  Apart of the "usual" CS stuff, we have Unicode and
character properties, GUI and TTY display, text shaping, font
selection, image processing and display, Lisp and its compilation,
file I/O, regular expressions, and that's just a sample.  Who could
possible be an expert in all of that?

So this is a red herring.

As for "even bigger Emacs" part -- if you really believe Emacs can be
divided into core and the rest, I think you don't understand the
spirit and the heart of Emacs and its development.  (Which I can
totally feel for, since it takes a lot of time and personal
involvement to really grasp that.)  See, separating the Emacs core
from applications built on that core makes no sense, and if you try,
you will most probably kill Emacs.  If you examine carefully every
significant development in the Emacs core, you will see that each and
every one of them was always about some application or class of
applications.  Take the recent addition of tree-sitter, for example:
it would make no sense to develop that if font-lock for many
programming languages was not in core, because who in their right mind
would do all that hard work if it couldn't be immediately applied to
existing applications that are part of Emacs, and do it Right, using
all the expertise of "doing it Right" we have on board?

You should arrive at the same conclusion if you examine carefully
"core" Lisp packages, like subr.el, simple.el, etc. -- every single
part of them is there because we needed it for some application in
Emacs itself.  How could that happen if the applications were outside
of Emacs?  It is a fact that developers of 3rd-party applications tend
to solve the problem by themselves, almost never asking us to provide
new core features to help them solve those problems.  If most of Emacs
applications were outside the project, we could never have progressed
and extended our basic capabilities and infrastructure as we have them
now.

This intimate bond between the internals and the core infrastructure
on the one hand, and the applications that are built on top of that
OTOH -- this is our main strength, it's what keeps drawing in new core
developers over the years, thus keeping the project alive and kicking,
and developing at a mind-blowing rate.

And yes, this presents a problem: where do we draw the line, how do we
avoid making Emacs "too big" by adding "everything"?  Well, that's
what takes experience and intuition and gut feeling -- and a lot of
arguments like this one.  But by and large, we succeed, as the state
of Emacs today should tell us.

Whatever the difficulties to make the decision in each case, the
opinion that we should generally go in the opposite direction,
i.e. progressively remove more and more application-level code from
Emacs -- that opinion is completely wrong.  IMNSHO, anyway.



  reply	other threads:[~2022-11-14 17:39 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-13 16:11 Adding use-package to core xenodasein--- via Emacs development discussions.
2022-11-13 16:48 ` Eli Zaretskii
2022-11-13 17:53   ` John Wiegley
2022-11-13 18:13     ` Eli Zaretskii
2022-11-13 18:45       ` John Wiegley
2022-11-13 18:05 ` Stefan Kangas
     [not found] ` <838rkels13.fsf@gnu.org-NGltIw7----9>
2022-11-13 18:12   ` xenodasein--- via Emacs development discussions.
2022-11-13 18:22     ` Stefan Kangas
2022-11-13 18:31     ` Eli Zaretskii
2022-11-13 19:19       ` xenodasein--- via Emacs development discussions.
2022-11-13 20:08         ` Eli Zaretskii
2022-11-13 18:46     ` John Wiegley
2022-11-13 19:02       ` xenodasein--- via Emacs development discussions.
2022-11-13 19:48         ` John Wiegley
2022-11-13 22:03           ` [External] : " Drew Adams
2022-11-13 22:45             ` North Year
2022-11-13 23:13             ` Matthew Carter
2022-11-14  8:10               ` Juanma Barranquero
2022-11-14  4:17             ` Tim Cross
2022-11-14  6:02             ` John Wiegley
2022-11-13 20:04         ` Eli Zaretskii
2022-11-14 10:32           ` xenodasein--- via Emacs development discussions.
2022-11-14 13:30             ` Eli Zaretskii
2022-11-14  0:27 ` Po Lu
2022-11-14 10:12   ` xenodasein--- via Emacs development discussions.
2022-11-14 10:47     ` Po Lu
2022-11-14 11:52       ` xenodasein--- via Emacs development discussions.
2022-11-14 12:19         ` Po Lu
2022-11-15 15:39           ` Michael Albinus
2022-11-14 13:54         ` Eli Zaretskii
2022-11-14 14:47           ` xenodasein--- via Emacs development discussions.
2022-11-14 17:39             ` Eli Zaretskii [this message]
2022-11-15 15:38               ` xenodasein--- via Emacs development discussions.
2022-11-15 16:24                 ` Configuration helpers (wad: Adding use-package to core) Stefan Monnier
2022-11-15 19:22                 ` Adding use-package to core Eli Zaretskii
2022-11-18 19:29   ` Sean Whitton
2022-11-18 19:33     ` Philip Kaludercic
2022-11-18 19:48       ` [External] : " Drew Adams
2022-11-18 19:42     ` Eli Zaretskii
2022-11-18 20:43       ` Philip Kaludercic
2022-11-19  7:12         ` Eli Zaretskii
2022-11-19  7:33           ` Philip Kaludercic
2022-11-19  8:04             ` Eli Zaretskii
2022-11-19 10:09               ` Philip Kaludercic
2022-11-19 10:31                 ` Eli Zaretskii
2022-11-19 11:02                   ` Philip Kaludercic
2022-11-19 11:15                     ` Stefan Kangas
2022-11-19 11:58                     ` Eli Zaretskii
2022-11-19 12:15                       ` Philip Kaludercic
2022-11-19 15:28               ` Stefan Monnier
2022-11-19 15:36                 ` Philip Kaludercic
2022-11-19 15:46                 ` Eli Zaretskii
2022-11-19 15:26           ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2022-11-18  0:32 Payas Relekar
2022-11-16 15:29 Payas Relekar
2022-11-16 16:04 ` Philip Kaludercic
2022-11-16 16:51 ` Eli Zaretskii
2022-11-16 17:01   ` Philip Kaludercic
2022-11-16 19:29     ` Eli Zaretskii
2022-11-17  0:33       ` Stefan Kangas
2022-11-17  6:40         ` Eli Zaretskii
2022-11-17  7:17           ` Stefan Kangas
2022-11-17  7:24             ` Payas Relekar
2022-11-17 16:18               ` John Wiegley
2022-11-17  7:33             ` Eli Zaretskii
2022-11-17  7:58               ` Stefan Kangas
2022-11-16 14:18 Payas Relekar
2022-11-16 14:52 ` Eli Zaretskii
2022-11-16 19:35 ` John Wiegley
2022-11-16  8:28 Payas Relekar
2022-11-16  9:30 ` Stefan Kangas
2022-11-16 13:35 ` Eli Zaretskii
2022-11-13 11:55 Payas Relekar
2022-11-13 17:31 ` xenodasein--- via Emacs development discussions.
2022-11-13 17:40   ` Philip Kaludercic
2022-11-13 18:05   ` Stefan Kangas
2022-11-13 18:42     ` xenodasein--- via Emacs development discussions.
2022-11-13 18:24 ` John Wiegley
2022-11-13  7:14 Payas Relekar
2022-10-25 12:06 [ELPA] New package: use-package Payas Relekar
     [not found] ` <877d0kbkfm.fsf@gmail.com>
     [not found]   ` <jwv8rl0nmb1.fsf-monnier+emacs@gnu.org>
     [not found]     ` <875yg4144y.fsf@gmail.com>
     [not found]       ` <jwvczablieq.fsf-monnier+emacs@gnu.org>
     [not found]         ` <87h6zmj451.fsf@gmail.com>
     [not found]           ` <5EE58F68-8B9E-4DE6-BA20-3A88FFDA6528@posteo.net>
     [not found]             ` <jwvh6zmit8b.fsf-monnier+emacs@gnu.org>
     [not found]               ` <871qqkjwjj.fsf@gmail.com>
     [not found]                 ` <jwvr0ykw2ac.fsf-monnier+emacs@gnu.org>
2022-11-03 16:42                   ` Payas Relekar
2022-11-03 16:57                     ` Philip Kaludercic
2022-11-03 16:59                       ` Payas Relekar
2022-11-03 17:15                         ` Philip Kaludercic
2022-11-04 18:24                           ` John Wiegley
2022-11-04 22:03                             ` Philip Kaludercic
2022-11-05  8:06                               ` Payas Relekar
2022-11-05  8:33                                 ` Philip Kaludercic
2022-11-05  8:45                                   ` Payas Relekar
2022-11-05  9:37                                     ` Philip Kaludercic
2022-11-05 10:13                                       ` Payas Relekar
2022-11-12  5:42                                         ` Adding use-package to core Stefan Kangas
2022-11-12  7:25                                           ` Philip Kaludercic
2022-11-12 10:17                                             ` Stefan Kangas
2022-11-12 14:04                                               ` Philip Kaludercic
2022-11-12 15:38                                                 ` Stefan Kangas
2022-11-12 15:46                                                   ` Philip Kaludercic
2022-11-12 15:53                                                     ` Payas Relekar
2022-11-12 16:33                                                       ` Philip Kaludercic
2022-11-13  4:43                                                       ` John Wiegley
2022-11-13  5:25                                                         ` Stefan Kangas
2022-11-13  7:07                                                           ` Philip Kaludercic
2022-11-13  7:31                                                             ` Eli Zaretskii
2022-11-13 14:09                                                             ` Stefan Kangas
2022-11-13 15:22                                                               ` Philip Kaludercic
2022-11-13 15:42                                                                 ` Stefan Kangas
2022-11-15 17:25                                                             ` Philip Kaludercic
2022-11-16  4:17                                                               ` Stefan Kangas
2022-11-16  7:59                                                                 ` Philip Kaludercic

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=83a64tjuz8.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=luangruo@yahoo.com \
    --cc=xenodasein@tutanota.de \
    /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).