TIP: Click on subject to list as thread! ANSI
echo: rberrypi
to: HEADSTONE255.BUT.NOT.THES
from: STEPHEN PELC
date: 2018-06-28 13:31:00
subject: Re: OT : Re: Forth

On Thu, 28 Jun 2018 12:29:49 +0100, Gareth's Downstairs Computer
 wrote:

>On 28/06/2018 11:30, Stephen Pelc wrote:
>> On Wed, 27 Jun 2018 21:29:09 +0100, Gareth's Downstairs Computer
>>  wrote:
>>
>>> IMHO where Forth falls down it is because it is a write-only
>>> language; programs other than the limited training exercises
>>> being difficult to fathom out.
>>
>> This is a traditional calumny.
>
>No it is not. It is true. Forth is a favourite of badly or self
>taught programmers because on the surface it seems very easy to get
>started, and, although aficionados of FORTH will understand and
>remember everything that they themselves have coded, the same is not
>true for the unfortunate individuals who have to maintain the code;
>maintenance being where most of the cost of software lies. This is
>because FORTH is more an assembly language than a high level language.
>Indeed, the instruction set of the English Electric KDF9 is remarkably
>similar, and its publication may well have been the inspiration
>for Charles Moore, the instigator of FORTH.

This is just proof by repeated assertion. What qualifies you to make
these assertions? I have run a Forth software shop since 1981, so on
a did/didn't basis, I've seen a lot of Forth code. As an embedded
systems rogrammer, I've seen a huge amount of bad C code and bad
code in a range of languages.

If you don't know how to use a language, you will write bad code in
it. Forth is a remarkably subtle language.

>It is unclear from that comment whether or not you disagree with me.

There are no write-only languages, with the possible exceptions
of Brainfuck and Mondrian.

You call Forth an assembly language. I call it an extensible
language. Good Forth programmers use the extensibility.

>But it cannot be learned in FORTH; FORTH being in Reverse
>Polish Notation.

Ah, the data stack. It's easy to blame the combination of RPN
and an untyped language. These are beginner problems that are
not considered an issue by experienced Forth programmers. If
you can't cope with a stack, you'll never be a good programmer.

>> I speak
>> as someone involved in the maintenance and development of a
>> Forth application of 1,400,000 lines of source code.
>
>I bet you're the only person who knows their way around that cod.e

Rubbish. It's a team effort by one of our clients.

>> That's engineering. It applies to all programming languages.
>
>FORTH is great for hacking, for perhaps implementing the on-boot
>monitor for new processors without other support, but the very nature
>of FORTH indicates that it is not engineering, for, were you to be
>involved in the many weeks, months even, of designing a large
>software project, you would not be writing it in FORTH, even
>assuming you could assemble a team of FORTH experts.

Your repetition is tedious. The app with 1,400,000 lines of
source code is now nearly 30 years old and has made the
company a lot of money. There are other Forth apps, ancient and
modern, that have performed extremely well over long periods.

It was fashionable to rubbish Forth until a few years ago, when
I observed that the senior technical people of many progressive
companies have fond memories of Forth. Yes, it's not fashionable,
but it works in the right hands. It's not for everyone.

>> Programming is a discipline and a
>> craft. It needs practice.
>
>A truism, but by asserting that you seem to suggest that the practice
>needed for FORTH is so much greater than for other languages and
>environments.

It needs a professional tool chain of the sort supplied by MPE
and Forth Inc. The free toolchains simply do not cut it for
serious applications.

Stephen

--
Stephen Pelc, stephenXXX@mpeforth.com
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 (0)23 8063 1441
web: http://www.mpeforth.com - free VFX Forth downloads

--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)

SOURCE: echomail via QWK@docsplace.org

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.