Starting Forth
11–20 of 71 posts
Re: Starting Forth
#12Re: Starting Forth
#13Re: Starting Forth
#14Is Forth still being used in industry other than for legacy systems? (genuine question)
Open Firmware and the FreeBSD loader use it presently.
Re: Starting Forth
#15An approachable platform for hacking Forth is the OLPC laptop[1]. For about $25 USD[2], that's a pretty cheap way to go Forth and multiply :-). 1 - http://www.openfirmware.info/Forth/FCode 2 - http://www.ebay.com/sch/items/?_nkw=olpc+laptop&_sacat=&_ex_...
http://www.forth-ev.de/wiki/doku.php/en:projects:gforth-andr...
Re: Starting Forth
#16Re: Starting Forth
#17Is Forth still being used in industry other than for legacy systems? (genuine question)
Not much. Forth is from an era when it was hard to program small microcontrollers and the tools for doing so were expensive. Today, everybody cross-compiles to microcontrollers. I've done robotics programming in Forth. I do not expect to use it again.
Re: Starting Forth
#18Is Forth still being used in industry other than for legacy systems? (genuine question)
As early as 15 years ago a number of our embedded products using 8 bit processors were programmed in assembler and/or Forth. This quickly became challenging in terms of product maintenance (assembler) and finding qualified experienced developers (assembler and Forth). I found myself in the difficult position, as CEO, of not being able to remove these responsibilities from my desk. And so we ported all of our code from assembler/Forth to C. In that process we improved nearly every technical and business metric. The port took months but it was well worth it.
I still think every programmer needs to start with assembler wrangling processor architecture internals "by hand", move on to Forth (or a TIL), then Lisp and C. I am sometimes in horror to come across programmers for whom every solution requires bloated, inefficient object oriented code.
Re: Starting Forth
#19Re: Starting Forth
#20It's really cool to see all of this interest in Forth. I think when I learned Forth, it made me a significantly better developer over all; it's also an awesome base for DSLs and really a fascinating paradigm.
Honest question, wouldn't you just write a lexer with yacc/bison for a DSL? How does a full programming language act as a base for a DSL, which is usually more limited than a programming language?
Your base language already has variable assignment, loops, recursion? Great, you don't have to deal with that. Type checking? Wonderful, don't have to go read up on type inference