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> <103ilab$225q0$1@paganini.bofh.team> <2025Jun29.171314@mips.complang.tuwien.ac.at> <96f3b6d94af924cf1468a2cced37966d@www.novabbs.com> <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> <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. --