unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: "Dr. Arne Babenhauserheide" <arne_bab@web.de>
To: Mikael Djurfeldt <mikael@djurfeldt.com>
Cc: "Thompson, David" <dthompson2@worcester.edu>,
	 Richard Sent <richard@freakingpenguin.com>,
	 guile-devel <guile-devel@gnu.org>
Subject: Re: The Guile junk drawer and a C plea
Date: Sat, 29 Jun 2024 10:12:26 +0200	[thread overview]
Message-ID: <87msn4qiad.fsf@web.de> (raw)
In-Reply-To: <CAA2XvwKfGywNXhy2sGJ=JbcYj0S__w7A5ZNNxaYUKC-tQYTWtw@mail.gmail.com> (Mikael Djurfeldt's message of "Sat, 29 Jun 2024 09:37:55 +0200")

[-- Attachment #1: Type: text/plain, Size: 2253 bytes --]

Mikael Djurfeldt <mikael@djurfeldt.com> writes:

> design a new module hierarchy, introduce aliases for module bindings,
> and still supply the old module hierarchy during a few years for
> backward compatibility.

Please do not do this. It is a recipe for disaster.

Do you remember when Lilypond broke with Guile 2.0?
How long it took to get it working with modern Guile again?
This plan would cause the same — but much, much worse.

Lilypond is the one tool using Guile — the single tool — which actually
reigns supreme in its domain. Nothing else comes even close in quality.

The tools broken by breaking things “with sufficient warning” are
usually the most advanced ones. Specialized tools. The ones which rule
in their domain. That people depend on.

There’s something many useful things have in common: they work and need
little changes.

When the infrastructure these tools use intentionally breaks the tools
and requires constant upkeep just to keep working, this makes the
infrastructure volatile and unreliable.

Such large changes promise to make the system better, but they leave
it in a state of eternal semi-brokenness, because before the first
breakage is fully resolved, the next part gets rewritten and it causes
more breakage. And so the next breakage comes. Because doing such
“let’s just change it all” steps changes the culture.

Python tools had just kept working for years and years before Python 3.
After the release of Python 3, they broke every few years. The culture
had changed to one that accepts being volatile.

Making Guile volatile would make it a dumb idea to depend on it for
infrastructure. And I very much want to use Guile for my infrastructure.

I reduced my reliance on Python after having to spend time again and
again when my existing tools broke. Guile is becoming the replacement
for it. Please don’t plan to break it.

Please let us be a reliable foundation for infrastructure.

Best wishes,
Arne

PS: If this argument doesn’t suffice for you, before you discard it,
    please have a look at
    https://www.draketo.de/software/volatile-infrastructure
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]

  reply	other threads:[~2024-06-29  8:12 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-29  0:19 [PATCH] Add nondestructive delq1, delv1, and delete1 Richard Sent
2024-06-29  2:52 ` The Guile junk drawer and a C plea (was: [PATCH] Add nondestructive delq1, delv1, and delete1.) Thompson, David
2024-06-29  7:37   ` Mikael Djurfeldt
2024-06-29  8:12     ` Dr. Arne Babenhauserheide [this message]
2024-06-29  8:33       ` The Guile junk drawer and a C plea Damien Mattei
2024-06-29  9:59         ` Dr. Arne Babenhauserheide
2024-06-29  9:07     ` The Guile junk drawer and a C plea (was: [PATCH] Addnondestructive delq1, delv1, and delete1.) Maxime Devos
2024-06-29 10:41     ` Maxime Devos
2024-06-29 18:12       ` The Guile junk drawer and a C plea Dr. Arne Babenhauserheide
2024-06-29 18:18         ` Lassi Kortela
2024-06-29 18:27         ` Maxime Devos
2024-06-29 19:04           ` GRFI [was: The Guile junk drawer and a C plea] Matt Wette
2024-06-29 19:13             ` Lassi Kortela
2024-07-02 19:42               ` Jason Hemann
2024-06-29 19:39             ` Jean Abou Samra
2024-06-29 21:53       ` The Guile junk drawer and a C plea Philip McGrath
2024-06-29 22:41         ` Maxime Devos
2024-06-30  7:12           ` Dr. Arne Babenhauserheide
2024-06-30  9:45             ` Maxime Devos
2024-06-30 14:34               ` Dr. Arne Babenhauserheide
2024-07-01  9:06                 ` Maxime Devos
2024-07-01 10:42                   ` Dr. Arne Babenhauserheide
2024-06-30  6:16         ` #lang header Lassi Kortela
2024-06-30  0:17     ` The Guile junk drawer and a C plea Thompson, David
2024-07-17  2:25     ` The Guile junk drawer and a C plea (was: [PATCH] Add nondestructive delq1, delv1, and delete1.) Olivier Dion
2024-07-17 10:01       ` Library namespaces (guile ...) and (srfi ...) Lassi Kortela
2024-07-17 10:45       ` The Guile junk drawer and a C plea Dr. Arne Babenhauserheide
2024-07-17 10:53         ` MSavoritias
2024-07-17 11:12           ` Lassi Kortela
2024-07-17 15:44             ` Olivier Dion
2024-07-17 16:09               ` tomas
2024-07-17 16:29                 ` Attila Lendvai
2024-07-17 20:32                   ` Dr. Arne Babenhauserheide
2024-07-18  9:04                     ` Attila Lendvai
2024-07-18 15:11                       ` Dr. Arne Babenhauserheide
2024-07-17 20:33           ` Dr. Arne Babenhauserheide
2024-07-18 22:56             ` Greg Troxel
2024-07-19  8:46               ` Maxime Devos
2024-07-20  9:34                 ` Attila Lendvai
2024-07-20 13:01                   ` [PATCH] " Dr. Arne Babenhauserheide
2024-07-20 13:30                     ` Name of the standard library Lassi Kortela
2024-07-20 14:52                       ` Dr. Arne Babenhauserheide
2024-07-20 15:24                         ` Lassi Kortela
2024-07-20 15:46                           ` Dr. Arne Babenhauserheide
2024-07-20 16:04                             ` Portable code Lassi Kortela
2024-07-20 16:24                               ` Dr. Arne Babenhauserheide
2024-07-20 16:37                                 ` Lassi Kortela
2024-07-20 21:48                                   ` Dr. Arne Babenhauserheide
2024-07-26  9:21                                     ` Lassi Kortela
2024-07-20 16:11                             ` Name of the standard library Maxime Devos
2024-07-20 16:26                               ` Dr. Arne Babenhauserheide
2024-07-20 16:48                                 ` Maxime Devos
2024-07-20 18:42                                   ` Portable imports Lassi Kortela
2024-07-20 19:18                                     ` Maxime Devos
2024-07-20 19:46                                       ` Encoding library names Lassi Kortela
2024-07-20 20:35                                         ` Maxime Devos
2024-07-21  5:55                                       ` Portable imports tomas
2024-07-20 19:23                                     ` Maxime Devos
2024-07-20 16:54                                 ` Name of the standard library Lassi Kortela
2024-07-20 21:56                                   ` Dr. Arne Babenhauserheide
2024-07-26  9:38                                     ` Lassi Kortela
2024-07-20 15:43                         ` Maxime Devos
2024-07-20 15:58                           ` Lassi Kortela
2024-07-21  7:15                         ` MSavoritias
2024-07-21  8:04                           ` Dr. Arne Babenhauserheide
2024-07-26 16:37                             ` Library names describe APIs Lassi Kortela
2024-07-21 16:50                           ` Name of the standard library Ricardo Wurmus
2024-07-21 13:00                         ` Attila Lendvai
2024-07-20 16:01                       ` Maxime Devos
2024-07-20 16:27                         ` Lassi Kortela
2024-07-20 16:55                           ` Maxime Devos
2024-07-21 12:16                     ` [PATCH] The Guile junk drawer and a C plea Attila Lendvai
2024-07-21 21:10                       ` Dr. Arne Babenhauserheide
2024-07-22 14:52                         ` Attila Lendvai
2024-07-20 15:26                   ` Maxime Devos
2024-07-17 11:04         ` Lassi Kortela
2024-06-29 18:38   ` The Guile junk drawer and a C plea (was: [PATCH] Add nondestructive delq1, delv1, and delete1.) Jean Abou Samra
2024-06-29 19:02   ` The Guile junk drawer and a C plea Richard Sent
2024-06-29 23:51     ` Thompson, David
2024-06-30  7:23       ` Dr. Arne Babenhauserheide
2024-07-01  2:55   ` Maxim Cournoyer

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/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87msn4qiad.fsf@web.de \
    --to=arne_bab@web.de \
    --cc=dthompson2@worcester.edu \
    --cc=guile-devel@gnu.org \
    --cc=mikael@djurfeldt.com \
    --cc=richard@freakingpenguin.com \
    /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).