4 ms·
I was about to write something encouraging people to learn FORTH, but after some consideration, I started having second thoughts. I really like FORTH, but I th
by alatz 9y ago
I was about to write something encouraging people to learn FORTH, but after some consideration, I started having second thoughts.
I really like FORTH, but I think it promotes some subversive/extreme views which can sow seeds of discontent (or at least it did for me).
Much of my dissolution with the business of programming can be traced back to learning FORTH. It showed me just how much is possible if you optimize for simplicity, and it encouraged me to ask the question: maybe the trade-offs in programming aren't necessary i.e. we don't need to trade complexity for functionality? Now that I have some distance, I was/am probably wrong, and they are necessary, but this question still bugs me.
After learning FORTH I enjoyed my job less. I no longer had the patience I once had for the build tool breaking the umpteenth time, or dealing with yet another poorly documented and barely working REST API.
To be fair, this probably wasn't FORTH's fault. Waning enthusiasm may happen naturally as you gain experience in the industry, but it certainly seemed to accelerate the process.
Anyway, FORTH is awesome, but maybe you shouldn't learn it.
- coliveira 9y agoYou are correct: there is no need for the huge complexity we see in modern applications. However, such complexity exist because companies want to create standardized software, with readily available components, based on mainstream technology pushed by big corporations, written by AVERAGE programmers. Because of this, everything has to be watered down, created to the minimum common denominator, so that the work force becomes just another piece in the system that can be readily replaced. Programmers like Chuck Moore are viewed, in this environment, as a problem, not as an asset.
- sifoo 9y agoCompilers and interpreters never really clicked for me until I ran into Forth, that kind of simplicity was exactly the foundation I had been looking for all along. https://github.com/basic-gongfu/cixl https://github.com/basic-gongfu/cixl
- sosilkj 9y agoAny book/resource recommendations for learning Forth?
- jhbadger 9y agoThere's Leo Brodie's classic books from the 1980s (mostly still applicable today) https://1scyem2bunjw1ghzsf1cjwwn-wpengine.netdna-ssl.com/wp-content/uploads/2018/01/Starting-FORTH.pdf https://1scyem2bunjw1ghzsf1cjwwn-wpengine.netdna-ssl.com/wp-... and its followup Thinking Forth http://prdownloads.sourceforge.net/thinking-forth/thinking-forth-color.pdf?download http://prdownloads.sourceforge.net/thinking-forth/thinking-f...
- alatz 9y agoIf you want to take the plunge, jhbadger's recommendations of starting FORTH and thinking FORTH are both great. Starting FORTH covers the language itself, whereas thinking FORTH deals more with the philosophy of FORTH and programming in general. If you really want to get serious, writing your own FORTH, which is a kind of right of passage in the FORTH community, is a good way to learn. While somewhat controversial among FORTH purists (for reasons I don't entirely understand), I would recommend Richard Jones' jonesforth as reference for this: https://github.com/nornagon/jonesforth/blob/master/jonesforth.S https://github.com/nornagon/jonesforth/blob/master/jonesfort...
- sosilkj 9y agoThank you to you and jhbadger for these great links.