Deutsch   English   Français   Italiano  
<6dcd99ffba129d06b1f736994363eb87@www.novabbs.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: minforth@gmx.net (minforth)
Newsgroups: comp.lang.forth
Subject: Re: Parsing =?UTF-8?B?dGltZXN0YW1wcz8=?=
Date: Tue, 1 Jul 2025 19:36:21 +0000
Organization: novaBBS
Message-ID: <6dcd99ffba129d06b1f736994363eb87@www.novabbs.com>
References: <1f433fabcb4d053d16cbc098dedc6c370608ac01@i2pn2.org> <4a4c38c99d22d97314ed5750af38430d@www.novabbs.com> <765bd244e1368b5691f18c748102470e8de1a30d@i2pn2.org> <nnd$0deda869$2559e613@c251414cde7edbe7> <103ilab$225q0$1@paganini.bofh.team> <cda70ea80eb98069a3060f95503d0853@www.novabbs.com> <2025Jun29.171314@mips.complang.tuwien.ac.at> <96f3b6d94af924cf1468a2cced37966d@www.novabbs.com> <d5ff6c298dff84dabc278ac1a28087d55126645e@i2pn2.org> <0cd5e9d5959101c1efa68a2d6d630e23@www.novabbs.com> <069f09501a3c6fcade18fdf83925d835514b42cc@i2pn2.org> <44b5f13fd49d8ddbd572ae583379d124@www.novabbs.com> <21113c70c36a86f0fd4c74c8d11d0947528ba70f@i2pn2.org> <20baae7dd561db60967a5937d2b59d9a@www.novabbs.com> <0db20ddf954106bbca40d9e83630033f108b9a8e@i2pn2.org> <87bjq5yn8i.fsf@nightsong.com> <nnd$6da712e9$10ba1712@89d620b4a5dddb34> <8734bfzrdl.fsf@nightsong.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
	logging-data="2925778"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="BZ29EnRIXfdX99fE+pfHgueF2xuF1KvSpLJsfuOZy3Y";
User-Agent: Rocksolid Light
X-Rslight-Site: $2y$10$NI.DxwQZKA1zKqm5Szs8ZOdCovc8bxL777NQBBj8waUlpd527iqqK
X-Rslight-Posting-User: 0338a3da6f3e9c9f1401b365bcd9c3ed8de2227a
X-Spam-Checker-Version: SpamAssassin 4.0.0

On Tue, 1 Jul 2025 18:40:38 +0000, Paul Rubin wrote:

> In a traditional Forth with locals, the locals are stack allocated so
> accessing them usually costs a memory reference.  The programmer gets
> the same convenience as a C programmer.  The runtime takes a slowdown
> compared to code from a register-allocating compiler, but such a
> slowdown is already present in a threaded interpreter, so it's fine.


In all this strange discussion about the ôpure and trueö Forth
philosophy (on which even Charles Moore once went his own way), the
human cost of programming time never comes up.

Nobody seems to care about that time. Instead, the focus seems to be
primarily on code runtime, even though the difference is only
microseconds or less.

This is completely nonsensical for 99% of all cases. Some people seem
to prefer ôon principleö to help the computer with human work through
ôpremature optimizationö to get its stack elements in the right order,
and to factorize the programming task into digestible chunks, whether
it is natural for the task or not. In a professional environment, this
stubborn attitude is completely uneconomical.

In my world, using locals in appropriate cases gets me done much faster,
error-free, and the code is self-documenting. This time gain is
astronomical when you put it in relation to microseconds of runtime
difference.

--