This question does not appear to be about programming within the scope defined in the help center.
Closed 3 years ago.
Improve this questionA long time ago I remember thinking that the Forth programming language was pretty cool. I really haven't heard anything about it in years. Is Forth still in use? If so, what types of applications is it being used for?
It's still in use by people like Apple and Sun - take a look at http://en.wikipedia.org/wiki/Open_Firmware.
Chuck Moore, the man who invented forth, uses a dialect called color forth. He has some interesting projects going on:
http://colorforth.com/haypress.htm Haypress Creek supercomputer. It has 9 S40 multi-computer chips, each with 40 c18 computers. Total of 360 computers running at 700 Mips or 250 Gips. Each chip has 3 A/Ds and 3 D/As. Total of 27 of each.
http://greenarraychips.com/ His hardware company
Factor, a concatenative language similar to Forth, is gaining wide attention these days. This blog post shares the experience of using Factor in education. Niue, an embeddable language for Java applications was inspired by Forth.
Eserv - popular mail, web and proxy server for Windows - written in FORTH (SP-Forth dialect). About 15 years on thousands of production sites.
nnCron - most powerful scheduler for Windows - also written in SP-Forth.
www.eserv.ru , spf.sourceforge.net, nncron.ru
I'd have started with this http://www.forth.com/
The latest update is 29 Dec 2009. That seems definitive. Someone is using it.
You could ask for a customer list. That would tell you who. You can ask them how and where.
I use it on MSP430's and ATMega parts. I wrote them myself. It's easy and doesn't cost anything. And I debug things fast, if there are bugs. You test at the keyboard. It's fast because it's kind of like a macro level assembly. And small and you can always make it smaller. C's ok but a good compiler costs real money and it's pretty conventional.. edit compile down load. You don't do that in Forth like.... I call mine Forth-Like. It doesn't meet the Forth standards, but anyone who knows forth can read my code.
You can have a look at the [archived] Space-Related Applications of Forth webpage that some of NASA's members use it. Not sure how up to date that list is though…
One good usage of Forth is as a remote interface for an system that: (A) is a lightweight embedded system not suitable for running an OS such as Linux; (B) needs to be remotely controllable/programmable/scriptable in the field; (C) remote interaction has high-latency characteristics (due to transport etc).
I know at least the company I works for uses forth. All the forth we use is on embedded systems, controlling scientific instruments.
This is where you will see the major difference in most forths. Embedded forths such as MPE or flashforth will tend to use cooperative round-robin multitasking. This is good for real time systems as it is pretty bulletproof.
Desktop forths on the other hand tend to use the multitasking systems of the OS, its great but makes the code from one kind of forth very difficult to port to another. This is probably one of the main reasons it fell out of favor on a desktop environment, it used to be quite popular look at MacFORTH.
I've also heard that other project such as JET - joint european torus - use diagnostics running forth, so at least on other company other than the one I work for uses forth.
Where you Ask ?. MpeForth. It's a company located in Uk. Thier VFXforth (another dialect of forth) is being used in mainly embedded solutions. Goto this page About MPE. scroll down and take a look at there Partial customer list.
Yes, Forth is indeed "still being used". We just released Version 1.2.0 of 8th, our secure, cross-platform Forth derivative language. It's got a small but growing user-base.
Apart from ours, there are at least two other commercial Forths: SwiftForth and MPE Forth. There are numerous free Forths, as well.
Forth is still in use by IBM, Apple and Sun. It is used for device drivers, especially used during booting of OS.
FORTH is very useful on microcontrollers, as it uses very little memory, can be fast, and easier to code than in assembly, even interactively. There are more implementation for Arduino, for example the AmForth.
精彩评论