3 ms·
Here are some great resources on Forth: http://www.call-with-current-continuation.org/articles/forth.txt http://www.call-with-current-continuation.org/articles
by knowledge-clay 4y ago
Here are some great resources on Forth:
http://www.call-with-current-continuation.org/articles/forth.txt http://www.call-with-current-continuation.org/articles/forth...
https://git.sr.ht/~vdupras/duskos/tree/master/fs/doc/design/simple.txt https://git.sr.ht/~vdupras/duskos/tree/master/fs/doc/design/...
https://www.youtube.com/watch?v=9TJuOwy4aGA https://www.youtube.com/watch?v=9TJuOwy4aGA
Let me quote the first essay at length:
> Writing "good" Forth code is very hard, or at least what I consider good
Forth code, which may be different from what others consider good. Forth
has been called a "write only language", but only because it requires
an additional effort to simplify your code to a point where everything
becomes obvious. This is an art, it is a moment of transcendence, which
I don't claim to have ever reached, but sometimes I get a glimpse of it,
an inkling of the fact that if I would work very hard on this, it will
become so simple, so heavily factored, using such obvious and clear names
that everything just falls into place. It is this moment that programmers
experience every once in a while, where a short, simple piece of code
just does what it is supposed to do, without any extra baggage, easily
understandable. To achieve it in Forth is much harder, it may require
more time, many rewrites, but the results are even more satisfying,
as the result is smaller, much simpler, fully self-contained and not
burdened by code that you can not trust. When you forget about that urge
of productivity, which has become the moloch we sacrifice our children to,
you may be able to achieve that particular thing that is called quality,
elegance, art. It may take a lifetime, you may never reach that far,
but still you should strive for it.
> Or you remain a cog in the machine, developing on absurdly convoluted
"software stacks", using inadequate and brittle languages, connect barely
matching interfaces to only small parts of too many bloated libraries,
using insanely sophisticated tools of incomprehensble complexity and
trot on, asking yourself why everything sucks and why the last time
you actually enjoyed programming and were you could be genuinely and
deservedly proud on what you accomplished, was when you were a kid...
It seems to me that a lot of ideas in mainstream computing are pointing towards dead ends, and the practice of software engineering is either stagnating or in decay. Maybe it's time for a more radical reconsideration of how we build software, and time to give Forth (or something like it) a more serious look.
- hayley-patton 4y agoI would not hold my breath for it to revive software engineering, if the end result is purportedly to make a pretty program. No doubt quality is severely lacking in modern programming, but programming is a means to ends other than autoeroticism. And Forth is nothing new as a low-level, bending-over-to-the-machine language [1], except that its users to have constant urges to decry everything else as bloat (first link), civilisation-threatening, training wheels (third link), and all those wonderful things. Just don't do anything [0], and hoorah, you can write nothing too. [0] https://news.ycombinator.com/item?id=28771886 https://news.ycombinator.com/item?id=28771886 is a classic on that topic. [1] Bemusingly this does not make it necessarily fast; some Forthen are too simple and too low-level for compilers to get much done, c.f. https://applied-langua.ge/posts/i-dont-want-to-go-to-chel-c.html#orgf7a8a86 https://applied-langua.ge/posts/i-dont-want-to-go-to-chel-c.... for the video described in the third link.