unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: David Kastrup <dak@gnu.org>
To: Thomas Lord <lord@emf.net>
Cc: Juanma Barranquero <lekktu@gmail.com>,
	Eli Zaretskii <eliz@gnu.org>,
	emacs-devel@gnu.org
Subject: Re: Meanness
Date: Sat, 26 Jul 2008 19:21:31 +0200	[thread overview]
Message-ID: <85abg41rz8.fsf@lola.goethe.zz> (raw)
In-Reply-To: <488B6391.2040500@emf.net> (Thomas Lord's message of "Sat, 26 Jul 2008 10:49:05 -0700")

Thomas Lord <lord@emf.net> writes:

> As a component, one requirement is that it have excellent "fit"
> (aka "coupling") with other parts of a GNU system.   Making
> Emacs work really well on today's GNU/Linux systems is
> probably the best way to force improvements to its coupling.
>
> However:
>
> As a *component*, especially one of such central, low-level
> importance, Emacs should also have excellent "orthogonality and
> self-containment" (aka "cohesion").  It should fit well with a larger
> GNU system but it should, internally, be flexible, self-contained,
> based on good abstractions, etc.  It should fit GNU but it shouldn't
> be overly "intertwingled" with GNU.

Why?

> The best way to force improvements to cohesion is by "porting" and
> using the component in comparable but substantially different
> environments.  Windows is such.

No.  Windows is not comparable.  Various Unix variants are.  There is
nothing to be gained for Emacs on GNU/Linux by having to support file
systems which use backslashes instead of slashes and have drive letters.
Such things require creating artificial splicings of code and
pseudo-abstractions and APIs which make code less straightforward to
read and write.

That is a cost, not a benefit.

> Two simple examples: fonts and colors.  If the abstractions at the
> Emacs lisp level for fonts and colors are agnostic with respect to GNU
> vs. Windows and are effective on both, *that improves the quality of
> the Emacs component on GNU systems* by shaking out any needless
> intertwingling with X11 abstractions.

Uh no, it doesn't.  Gdk (and Gtk) provide efficient color map and image
handling.  Emacs doesn't.  It is quite worse, and that's exactly because
of being reduced to lowest denominator handling and corresponding
interfaces.  Gtk/Pango provides right-to-left typesetting and
internationalization.  Emacs doesn't.  The list goes on and on.

I am well aware that there are cost/benefit weighings involved.  That's
fine.  But declaring the costs to be benefits is not a basis for
planning.

> Doing it well, though, should improve emacs *on GNU* in ways that
> almost no other plausible activity can do.

My experience with Windows-too projects runs quite contrary.  The costs
are in _no_ relation whatsoever to the benefits for the non-Windows
parts (actually, their tend to be only costs for them, without
benefits).  And I don't see Emacs as an exception.  The benefit for a
Windows port lies in having a Windows port.  If there were tangible
other benefits, we could invent imaginary operating systems en gros and
spend our time porting to them.

Can we please _stop_ this silliness?

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum




  reply	other threads:[~2008-07-26 17:21 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-26  8:10 Meanness Alan Mackenzie
2008-07-26 11:49 ` Meanness Alfred M. Szmidt
2008-07-26 11:59   ` Meanness Alan Mackenzie
2008-07-26 12:04     ` Meanness Alfred M. Szmidt
2008-07-26 15:16   ` Meanness Eli Zaretskii
2008-07-26 15:27     ` Meanness Juanma Barranquero
2008-07-26 15:51       ` Meanness David Kastrup
2008-07-26 16:11         ` Meanness Juanma Barranquero
2008-07-26 16:30           ` Meanness David Kastrup
2008-07-26 16:40             ` Meanness Eli Zaretskii
2008-07-26 16:52             ` Meanness Juanma Barranquero
2008-07-26 16:59         ` Meanness Eli Zaretskii
2008-07-26 17:49         ` Meanness Thomas Lord
2008-07-26 17:21           ` David Kastrup [this message]
2008-07-26 17:36             ` Meanness Eli Zaretskii
2008-07-26 18:10               ` Meanness David Kastrup
2008-08-30  2:10             ` Meanness Daniel Colascione
2008-07-26 15:37     ` Meanness David Kastrup
2008-07-26 16:49       ` Meanness Eli Zaretskii
2008-07-26 16:00     ` Meanness Óscar Fuentes
2008-07-26 16:19       ` Meanness David Kastrup
2008-07-26 16:56         ` Meanness Óscar Fuentes
2008-07-27 14:49       ` Meanness Richard M Stallman
2008-07-26 16:16     ` Meanness Alfred M. Szmidt
2008-07-26 16:20       ` Meanness Chong Yidong
2008-07-26 16:37         ` Meanness David Kastrup
2008-07-26 16:38       ` Meanness Eli Zaretskii
2008-07-26 17:01         ` Meanness David Kastrup
2008-07-26 17:22           ` Meanness Eli Zaretskii
2008-07-27 14:49       ` Meanness Richard M Stallman
2008-07-27 14:49     ` Meanness Richard M Stallman
2008-07-26 18:08 ` Meanness Stefan Monnier

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=85abg41rz8.fsf@lola.goethe.zz \
    --to=dak@gnu.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=lekktu@gmail.com \
    --cc=lord@emf.net \
    /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).