Penguin

Differences between current version and predecessor to the previous major change of Forth.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 35 Last edited on Wednesday, June 16, 2010 6:58:57 am by MahaloMarlin
Older page: version 31 Last edited on Wednesday, August 15, 2007 10:08:51 am by KragenSitaker Revert
@@ -1,7 +1,7 @@
 !!! <tt>YOU FORTH LOVE IF HONK THEN</tt> 
  
-[Forth] is a [Stack]-based ProgrammingLanguage developed by ChuckMoore in the 1960s (see the [history of Forth | http://www.forth.com/Content/History/History1.htm ]). [Forth] code is written in ReversePolish notation, since it works directly with the stack (actually, several stacks). There is no implicit stack management, which means that function calls are very fast: the arguments are whatever is already on the [Stack] when the function is called and the return value is whatever is left on the [Stack] at return. 
+[Forth] is a [Stack]-based ProgrammingLanguage developed by ChuckMoore in the 1960s (see the [Evolution of Forth | http://www.forth.com]). [Forth] code is written in ReversePolish notation, since it works directly with the stack (actually, several stacks). There is no implicit stack management, which means that function calls are very fast: the arguments are whatever is already on the [Stack] when the function is called and the return value is whatever is left on the [Stack] at return. 
  
 [Forth] is defined in terms of itself more so than probably any other language. A [Forth] system generally consists of only a tiny kernel and a small number of Forth functions written in AssemblyLanguage, but even most of the compiler is written in Forth, as is the standard library. Real [Forth] geeks write their own [Forth] kernels from the metal up. (ChuckMoore creates his own [Forth] machines from silicon.) It doesn't take much effort once you've absorbed the [Forth] philosophy – there is shockingly little holding [Forth] up. This is in tune with ChuckMoore's philosophy of brutal simplicity in software engineering. 
  
 [Forth] produces very compact code. A whole interpreter and development system will easily fit into 8 kilobytes and leave plenty of room for user code. Back when architectures with 8 kilobytes of [RAM] weren't just the computers that you developed ''for'' but also the computers you developed ''on'', [Forth] was very popular. Today it is most popular in embedded systems and other highly constrained environments: f.ex., it is the language of choice for NASA on many satellites and planetary probes, where its compactness and functional correctness (see below in ''Comparison with Haskell'') outweigh the speed of AssemblyLanguage. It forms the basis for the OpenFirmware and the [RPL] language used in HewlettPackard calculators and is used in some of UCSD's music courses. It has been used successfully in ArtificialIntelligence research. 
@@ -136,9 +136,13 @@
 [RetroForth | http://retro.tunes.org]: 
  Both a ForthOS and a [Forth] for [Linux] systems. 
 [bigFORTH | http://bigforth.sf.net/]: 
  A native code compiler for [x86] which includes a [GUI] library and form editor. 
+[StartingForth | http://home.iae.nl/users/mhx/sf.html]:  
+ A good book for starting with forth. by Leo Brodie.  
+[ForthFortNight | http://forthfortnight.blogspot.com/]:  
+ Ching's World. (WLUG member who blogs about forth)  
  
 Finally, some [Forth humour at UserFriendly | http://ars.userfriendly.org/cartoons/?id=20070213&mode=classic]. 
  
 ----- 
 CategoryProgrammingLanguages, CategoryMachineOrientedProgrammingLanguages, CategorySystemsProgrammingLanguages