From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: arthur miller Newsgroups: gmane.emacs.devel Subject: Re: we need *modularity* [last problem] (was: Re: as for Calc and the math library) Date: Mon, 19 Aug 2024 13:29:03 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="_000_DU2PR02MB101090C4E96A6513BB6965218968C2DU2PR02MB10109eu_" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40798"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "emacs-devel@gnu.org" To: Emanuel Berg Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 19 16:20:12 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sg3Ew-000AMh-4E for ged-emacs-devel@m.gmane-mx.org; Mon, 19 Aug 2024 16:20:11 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sg3E7-0004hW-15; Mon, 19 Aug 2024 10:19:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sg2RY-0002O4-BO for emacs-devel@gnu.org; Mon, 19 Aug 2024 09:29:08 -0400 Original-Received: from mail-westeuropeazolkn190100000.outbound.protection.outlook.com ([2a01:111:f403:d201::] helo=AM0PR83CU005.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sg2RW-0001Tc-7J for emacs-devel@gnu.org; Mon, 19 Aug 2024 09:29:08 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SCa8pTQ1g/uPDA9bYP0WzXFu0l9A7SrII07FGpubdoVlE/A0snGAIKydhnAkNg8VLT8owHC/m9QLp+7NdrWMVBqR/O36HWApEPxu8t93ZbhBnxOdJRudtwy9eMu/t9oA6Eozbww7k8JXPXovDkIrFNH7MBK5zIw0yYtAiFsG219pUJutlxJI7yX3OQwIJ7IJAfSO/QnBLXwwZCf5UnGSCtKriiQe5TAl/9Yl1IPBRMqeFImDtPYDfkOGUkY/KHsnfzamI5gL++w0qtpLZiaYvZ3RM47txXgxzSlgBFm1B1+SNePCV5pVcoKrhIrnObZGVwERBJpuobTqOUJvCbTsnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bptmbxO2qLver2gEPNino39LQLBnNprPa91GLThr6I4=; b=Zdyf9V8ZqcISMWv50yeHwSEzFMml9M3nd4Qc/J1LJhvksRcwEstjZj5/SYxBsHp/7T+Uci93qTgc3ByslojiFSoVxAMO0SKL1KoB0OvSClS+oXua9DKJ5RaVm2TWRe8WNeks5/F9gpTzGptCi6yj3lVqn+bEgXEd3mGms7Z8sdmw+LdLb1bGAiKRcygIsYMxXtNUrxjh70dFFgnZMv67f/4Iovw/0mzPxX5Px5R4U7Lig9BPz8lkPElSLjQw/ks/f/FSN2TBf3qFkZHP8H8465MSvpWXnrecNU58r2WIaGQBTLmFeV/1np/BoObDdefhJ4PiDR3GIKk8Nv+X+Wh1uQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bptmbxO2qLver2gEPNino39LQLBnNprPa91GLThr6I4=; b=PpNJNE47EmgjJsQv33E70eYud6g4T+tOuyHG+q/0eBmm2xRqmoo0r7TnhtlfZzUx5mLrrGw5CuSdoc4IaYpziOPgKpjv913phyC5DUCHr7VfRNS+d9Q2K5dZY3fbPN6Ur+8vnglh++xLkBj5aq+J9mXBSG9ZR0rN9GPBAbx20bRXqioggRcsvoO/2z3v4pZjfoSCu303IWRUcNXkgW+HrGKEYEar32x9cyr8r64ofPs1s6MqVaYKsEoV8WOpwYvCRU6MekZhiIloJRjPaJsMpzzxB2YOdLxP4mx98HEChLr7nMoQRzKe1P+yQ72q2Io3CQosKEUAbTuvK37VAi1uFg== Original-Received: from DU2PR02MB10109.eurprd02.prod.outlook.com (2603:10a6:10:497::14) by AS2PR02MB9190.eurprd02.prod.outlook.com (2603:10a6:20b:5fa::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.22; Mon, 19 Aug 2024 13:29:03 +0000 Original-Received: from DU2PR02MB10109.eurprd02.prod.outlook.com ([fe80::f3c9:d4cb:290:d487]) by DU2PR02MB10109.eurprd02.prod.outlook.com ([fe80::f3c9:d4cb:290:d487%4]) with mapi id 15.20.7875.019; Mon, 19 Aug 2024 13:29:03 +0000 Thread-Topic: we need *modularity* [last problem] (was: Re: as for Calc and the math library) Thread-Index: AQHa8jul/bkSfX/neUernCMVgdZnAw== Accept-Language: sv-SE, en-US Content-Language: sv-SE x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [VarR3JMU+vPs0YJpsULn4pwWJ3UNjG3Z] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DU2PR02MB10109:EE_|AS2PR02MB9190:EE_ x-ms-office365-filtering-correlation-id: 948c2ada-6122-4d8a-0765-08dcc052e473 x-microsoft-antispam: BCL:0; ARA:14566002|461199028|15080799003|15030799003|19110799003|8060799006|440099028|102099032|3412199025; x-microsoft-antispam-message-info: IQn0ByGKAeikrLqWJ3N6IpL9mtpY/13+lzwnlXQawNKXE4f3YZtkcAIb8tLcZiK3U0M/Muc4dLN0qjbsA0KQzo1apRa/rcIIBRApuwNXQtcGnhsucD/mL+Kcyf8OcJFCgBRHc8S1f90UZ/wSNzN4SA2yTS8eMaG5GcCMPYkOX/UhcJxZ9FjwDeFaVyTmZZSHbHYhxBG4ZZjdqU+nLkFyRHcuVuOv+4XAEuGNqq2qouLSL0/Z5X9FDKwh+1zvveVxQLSwsRkDC8qJT8R86Uw1TB+YLjoU5jMRBy+ifzsyBAkLCkXPG+qqZEmAtx9IJB8kdzt4qT8yq+n2N4U2T8ZRJO8bxk+4uqncff1Dhc/wpLBEQLEVZao9neFIpYiZ5N91iCw2HO7upS7qy0JHnKE3unDGmPiKa60CGT7pib/MIUM/zln9LJy0fYJzJrmA3avY23XlqTAR1gX0DWczcutTuYVn78awi8q9oZWU00CFGsIDT7t6FrQvTtgB65RsLTsnzenXLDXUsdRPoP705zf29vU5X/QmQFonIIcQzOXrr8Qd7eXWyxQt9bC3q9wUw12LZTKLsJwrxUdICNkHz5XJv4R2U25OWnYHNxdpN6q/xPE/LCdKw5XKTwkn9N3j8DB1EsSnd4wS3rNOz0+iRrpCe+PE89LrgzmUplcNHppi7C9+B0bKVnZu45qOumJ6VHpmrxO2+EjDZ5WV8wm46SzfHg== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?JwQkEDtq01RC8knKyRnAHvA9yfeFw4yYUkLy6Rz1ok9I5DlHQ3iqUW/ZhK?= =?iso-8859-1?Q?8dpvXWoMadoVBQGfZfTo0LekYD7jv3Wy+LGNUXsJF+q0dh30MKft2Wri5A?= =?iso-8859-1?Q?OwqdjvxHsrXqsMhl+y1D26vR6/eqzoJ3L4CrX2INm24edD9YDHvrZRJ4bs?= =?iso-8859-1?Q?/yhYpxV96KSUoS3LvRuk85DfPwtWQFitXW9BjcQ6q+aavHtYM6ekILH+lv?= =?iso-8859-1?Q?bA9D53x+6K0SFu9mc1/yApz5LO+DTnyvSNkBSt/Vru4NaWiJnHdTemWRqx?= =?iso-8859-1?Q?BmIU0aEHZ2gBM6iFHZVse2srrqMkwzES6YCVT8Rg+RAzP+ZoPsbrkw3fhj?= =?iso-8859-1?Q?i95ayrG7TfzB8k6rPdZVnOtF5+wPxKKfVC2o+/28/E4iAd1sThS8y/dfig?= =?iso-8859-1?Q?d7cWpou8Fxx5TodTtmCG2SChttymfK8ehgzwAon1q3J5FA8Xvccf7s4hDa?= =?iso-8859-1?Q?N4bnDD/HDiEhb8B6dx6UJV/wwDSaXTUe28RQffWZUymk65xLBkvU+AbNqm?= =?iso-8859-1?Q?1WbdxPIb/7P341eefri1YkVSB42d6Bl+Oqn/WTerjOOdTpmshmoYav4XMS?= =?iso-8859-1?Q?7SvHOQKY+aBFCRI/J7c1PP8JNmxSerhvtbD56MYVF9cz/seds9x82qgpgN?= =?iso-8859-1?Q? X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-bcc80.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DU2PR02MB10109.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 948c2ada-6122-4d8a-0765-08dcc052e473 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2024 13:29:03.2245 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR02MB9190 Received-SPF: pass client-ip=2a01:111:f403:d201::; envelope-from=arthur.miller@live.com; helo=AM0PR83CU005.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 19 Aug 2024 10:19:17 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:322919 Archived-At: --_000_DU2PR02MB101090C4E96A6513BB6965218968C2DU2PR02MB10109eu_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable >arthur miller wrote: > >> [...] > >Thanks for your post. Thanks for the answer. >Yes, I should stop rant but this realization that Emacs is >like a huge legacy application - no modularity, no clear >divisions, no sound policy how it happened - just go by >instinct and when problem comes - put a convention in a book >and add more stuff. Well, yes, 40 years of development does leave some traces I guess. Different people, professions, epochs, styles, etc. The big API surface also might contribute to this. Some duplication is innevitable, but some problems are solved independently, multiple times, either because of people not being aware of something already existing (mys= elf been guilty) or simply NIH-syndrome. I don't think EmacsLisp nor Lisps in general are alone in this. However, Li= sp(s) are very easy to hack, so it is perhaps seen more often in Lisp world: it i= s easier to hack your own than to learn and use someone elses code. Examples = in Emacs world are numerous, but I don't want to offend anyone, and I dont' th= ink it would change anything, so I won't enumerate neither built-in stuff nor external and well-known packages. >At the same time people say Lisp is the most powerful language I don't know. Lisp is a family of languages. As I have learned from a post = by K. Pitman to comp.lang.lisp, McCarthy asked explicitly for none of Lisp dia= lects (or languages) to be named "Lisp". I don't think, any of Lisp languages in popular use is *the* "most powerful language" if such a qualification among programming languages would even be possible, certainly not EmacsLisp. But I do think that Lisp languages can b= e very elegant. Or at least they have a potential to be elegant, EmacsLisp no= t being an exception. For the reflection on Python, I have stated my opinion here a couple of yea= rs or more ago, and I still stand with the same. I prefer Lisp to Python, if I ma= y choose, and since I don't consult any more, I can :-). IMO opinion, there i= s nothing really interesting about Python. It is a C-like language with some extensions found in other C-like languages (OO, etc), with somewhat cleaner syntax and executed in an interpreter. Its real value is interpreter and dy= namic nature. It is indeed an easy and useful language to use, but as interesting= as VisualBasic to me. It is simple, easy, and boring! These are necessary not = bad characteristic, it is a useful language since it is used by many people, an= d there is lots of software written for it. >by definition and that cl-lib and pcase has ruined Emacs (both >of these are very clean cut in general; in the Emacs jungle, >they are a miracle of order). Well, everyone is entitled to their opinion, aren't they? I don't think you= can do much about it. Not everyone has to agree about everything either. Some p= eople don't like pcase or cl-lib, so be it. >With ELPA we have some modularity, we should move stuff from >core Emacs to ELPA and, as said, get real modularity based on As Drew use to write: +1 (for moving stuff out to Elpa). >the package with real prefixes and - well, everything real! >And, based on technology and not some wishful thinking >a--human-convention can even reduce such huge disadvantages to >other technology. > >So it is _really bad_, no excuses, had I known it was like >this - I don't know what would have happened - anyway ... it >is what it is. > >But if we get real modularity we get real libraries and if we >do, there is hope. As said in the previous mail, modularity would help, but let us not open an= other big, off-topic discussion. --_000_DU2PR02MB101090C4E96A6513BB6965218968C2DU2PR02MB10109eu_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
>arthur miller wrote:
>
>> [...]
>
>Thanks for your post.

Thanks for the answer.

>Yes, I should stop rant but this realization that Emacs is
>like a huge legacy application - no modularity, no clear
>divisions, no sound policy how it happened - just go by
>instinct and when problem comes - put a convention in a book
>and add more stuff.

Well, yes, 40 years of development does leave some traces I guess.
Different people, professions, epochs, styles, etc.

The big API surface also might contribute to this. Some duplication is
innevitable, but some problems are solved independently, multiple times,
either because of people not being aware of something already existing (mys= elf
been guilty) or simply NIH-syndrome.

I don't think EmacsLisp nor Lisps in general are alone in this. However, Li= sp(s)
are very easy to hack, so it is perhaps seen more often in Lisp world: it i= s
easier to hack your own than to learn and use someone elses code. Examples = in
Emacs world are numerous, but I don't want to offend anyone, and I dont' th= ink
it would change anything, so I won't enumerate neither built-in stuff nor
external and well-known packages.

>At the same time people say Lisp is the most powerful language

I don't know. Lisp is a family of languages. As I have learned from a post = by
K. Pitman to comp.lang.lisp, McCarthy asked explicitly for none of Lisp dia= lects
(or languages) to be named "Lisp".

I don't think, any of Lisp languages in popular use is *the* "most pow= erful
language" if such a qualification among programming languages would ev= en be
possible, certainly not EmacsLisp. But I do think that Lisp languages can b= e
very elegant. Or at least they have a potential to be elegant, EmacsLisp no= t
being an exception.

For the reflection on Python, I have stated my opinion here a couple of yea= rs or
more ago, and I still stand with the same. I prefer Lisp to Python, if I ma= y
choose, and since I don't consult any more, I can :-). IMO opinion, there i= s
nothing really interesting about Python. It is a C-like language with some<= /div>
extensions found in other C-like languages (OO, etc), with somewhat cleaner=
syntax and executed in an interpreter. Its real value is interpreter and dy= namic
nature. It is indeed an easy and useful language to use, but as interesting= as
VisualBasic to me. It is simple, easy, and boring! These are necessary not = bad
characteristic, it is a useful language since it is used by many people, an= d
there is lots of software written for it.

>by definition and that cl-lib and pcase has ruined Emacs (both
>of these are very clean cut in general; in the Emacs jungle,
>they are a miracle of order).

Well, everyone is entitled to their opinion, aren't they? I don't think you= can
do much about it. Not everyone has to agree about everything either. Some p= eople
don't like pcase or cl-lib, so be it.

>With ELPA we have some modularity, we should move stuff from
>core Emacs to ELPA and, as said, get real modularity based on

As Drew use to write: +1 (for moving stuff out to Elpa).

>the package with real prefixes and - well, everything real!
>And, based on technology and not some wishful thinking
>a--human-convention can even reduce such huge disadvantages to
>other technology.
>
>So it is _really bad_, no excuses, had I known it was like
>this - I don't know what would have happened - anyway ... it
>is what it is.
>
>But if we get real modularity we get real libraries and if we
>do, there is hope.

As said in the previous mail, modularity would help, but let us not open an= other
big, off-topic discussion.
--_000_DU2PR02MB101090C4E96A6513BB6965218968C2DU2PR02MB10109eu_--