
Be Moore Like Chuck - signa11
http://sigusr2.net/be-moore-like-chuck.html
======
pmoriarty
I tried to learn Forth, and found it to be an obfuscated, write-only language.

Forth programmers give a lot of lip service to writing short, well documented,
elegant words (functions) but in real-world programs I've seen the opposite:
the tendency has been to long, poorly documented, and convoluted words. (At
least that's been my experience with open-source Forth programs. I've heard
the libraries for commercial Forths are of much higher quality, but I have not
verified this myself)

Forth has been compared favorably to Lisp, but I found them to be like night
and day, and Lisp (and especially Scheme) to be far more elegant and easy to
both read and write.

Forth might arguably be better than assembly, but unless you have a pressing
need to write the tiniest programs possible (like on some resource-starved
microcontroller), I'd be hard pressed to find a reason why you'd want to use
Forth instead of some higher level language that is far less painful to work
with.

In fact, I've even heard some Forth fans themselves say that the point of
using Forth is to write yourself something as quickly as possible that lets
you program in a higher level language.

Don't get me wrong, I really, really wanted to like Forth and spent a lot of
time trying to learn it, but in the end it felt like it just wasn't worth it.
I might give it another go if I get heavily in to programming microcontrollers
where Lisp or Scheme is not an option.

~~~
cylinder714
Regarding your very last point, there is uLisp for microcontrollers:
[http://www.ulisp.com/](http://www.ulisp.com/) Do an HN search for more
references.

------
jchw
I love the story of this and the shirt turned out pretty good in my opinion.
There's just one problem: I really don't know anything about Forth or its
creator. Which is probably a shame, I realize. I simply came into programming
as a hobby when C was the hotness, and well, learned C. I wonder greatly if I
should ever learn any Forth, and how much. Is it only of historical interest
at this point?

Even more off-topic:

> Maybe you'd like to subscribe?

I love that this links to an RSS feed.

~~~
jungler
Lots of people, myself included, implement a Forth without really using it.
That makes it sound like a toy, but it's more like an important lesson in
programming concisely and choosing a comfortable level of abstraction for the
problem. Forth is designed to be simple to implement and extend, and that's
the foundation of Forth as a whole philosophy: choosing a specification that
actually solves the problem without generalizing or over-architecting the
solution. Forth, the language, is just the set of tradeoffs that Moore thought
was best suited to that, a position that most of the industry implicitly
disagrees with(because they do things like introduce large libraries and
dependencies where Moore is very DIY). It's a very concise language with a lot
of sharp edges.

Look up "Thinking Forth" for more in this vein.

~~~
madhadron
I second the vote for "Thinking Forth." It's free online[1] now. Most of agile
development, refactoring, YAGNI, all the buzzwords and advice on programming
from the 1990's and 2000's are already there, distilled down into nice
examples.

[1]: [http://thinking-forth.sourceforge.net/](http://thinking-
forth.sourceforge.net/)

