10 ms·
Thinking Forth
- RodgerTheGreat 15y agoThinking Forth is a wonderful book- even if you don't see yourself writing applications in Forth, it contains many insights that can be applied to programming in any language. As it turns out, Forth is a particularly good language for illustrating architectural tradeoffs because you can demonstrate ideas like factoring and API design with extremely short pieces of (idiomatic!) example code. If I had an opportunity to teach an introductory software engineering course, I would strongly consider using Thinking Forth as a textbook.
- kolev 15y agoForth is a beautiful language. Just like Lisp, Smalltalk, and others have a comeback, I won't be surprised if the same happens soon with Forth as well.
- agumonkey 15y agoAlready mentioned on this site, but still good to advertise from time to time. http://www.hnsearch.com/search#request/all&q=thinking+forth&start=20 http://www.hnsearch.com/search#request/all&q=thinking+fo... checkout also http://factorcode.org/ http://factorcode.org/ a forth-like system with batteries. (already mentioned here too)
- da02 15y agoJust to add to your list: Ben Stiglitz (Terminal.app, Apple employee) at RubyConf 2008 introducing Forth: http://rubyconf2008.confreaks.com/forth.html http://rubyconf2008.confreaks.com/forth.html I also recommend checking out Factor. It grabs ideas from EVERYWHERE (Forth, Common Lisp, Smalltalk, Joy, etc.) and wraps them all up into a nice package.
- rwmj 15y ago... and jonesforth (google it 'coz the original site is down)
- agumonkey 15y agoweb archive digging -> http://web.archive.org/web/20100116031518/http://www.annexia.org/forth http://web.archive.org/web/20100116031518/http://www.annexia...
- agumonkey 15y agoThe author seems creative and integrative, the included forth REPL/IDE also is neat. Another benevolent dictator in the making I guess.
- raymondh 15y agoI've long been a big fan of this book. It will make you a better programmer even if you don't program in Forth. The only downside is that it will feel dated (because it is). Many of the ideas that were once progressive, original, and a bit revolutionary now seem obvious and a little trite.
- kephra 15y agoOne of the best books ever! An eye opener next to 'a little Smalltalk'
- gruseom 15y agoHere is a gem from this gem of a book - surely one of the best descriptions ever of what are now called DSLs: Forth programming consists of extending the root language toward the application, providing new commands that can be used to describe the problem at hand. Programming languages designed especially for particular applications such as robotics, inventory control, statistics, etc., are known as “application-oriented languages.” Forth is a programming environment for creating application-oriented languages. (That last sentence may be the most succinct description of Forth that you’ll find.) In fact, you shouldn’t write any serious application in Forth; as a language it’s simply not powerful enough. What you should do is write your own language in Forth (lexicons) to model your understanding of the problem, in which you can elegantly describe its solution.
- jdpage 15y agoI've heard similar descriptions of LISP, actually.
- RodgerTheGreat 15y agoThey are actually very much alike. Personally I prefer Forth for having less "magic"- a basic Forth kernel is much smaller and simpler than a bare-bones Lisp system. Postfix notation also seems a more elegant (if initially less familiar) solution to a homoiconic language than Lisp's nested parentheses.
- gruseom 15y agoNot entirely on-topic, but since you're our local Forth enthusiast: can you tell us anything about Moore's recent (say, last 10 years) chip and language designs? I look at the GreenArrays and ColorForth stuff and feel like Bob Dylan's Mr. Jones: there's something happening here and I don't know what it is. My spidey sense tells me that it's disruptive enough to represent a major opportunity of some kind. But Spidey could be wrong.
- RodgerTheGreat 15y ago
- KaeseEs 15y agoWhile Forth is certainly a mind-expanding experience, I still feel that it suffers a bit from "Stackholm syndrome" when I see advice like that contained on page 144, under the section "An alternative to screens: source in named files": Infnite-length files allow sloppy, disorganized thinking and bad factoring. Defnitions become longer without the discipline imposed by the 1K block boundaries. The tendency becomes to write a 20K file, or worse: a 20K definition.
- gruseom 15y agoOr perhaps this advice is just ahead of its time or beyond the mainstream or however you want to put it. The idea of accepting any constraint on the amount of code we churn out is alien to us. We take for granted that complex systems must grow arbitrarily large. What if we're wrong?
- resnamen 15y agoThis really takes me back to my RPL days on my old HP-48G.
- calcnerd256 15y agotypo on page 3: "Move the contents or Register B to Register A," s/r/f/ that string