commit f3e8704c9a354bdc22fc272b2e788a989c22d2c7
parent 2a7223f708f0dcd07ea6902561e5ef2a2d9e726a
Author: viznut_web <viznut_web@web>
Date: Thu, 2 Jun 2022 17:47:13 +0200
Diffstat:
1 file changed, 14 insertions(+), 0 deletions(-)
diff --git a/Forth.mdwn b/Forth.mdwn
@@ -0,0 +1,14 @@
+**Forth** is a [[stack-based]] programming language created in the 1970s by Chuck Moore.
+
+The main benefit of Forth is that it is very small. A classical Forth system takes the roles of the compiler, the editor and the operating system while completely fitting in a memory space of less than 20 kilobytes. The smallness also makes it possible to implement a Forth system from scratch in a weekend.
+
+Forth is usually run with a two-stack virtual machine, so it is much slower than compiled code. However, classical Forth system typically also include an [[assembler]] that can be used to implement speed-critical parts of the program.
+
+Most programmers see Forth as quite esoteric in comparison to other languages. Forth also doesn't "protect" the programmer from its inner peculiarities – even though it is possible to create abstractions, it is not advisable to forget what lies under those abstractions.
+
+Forth has been standardized, but Moore himself hasn't cared so much about standardization. The "[[Redo from scratch]]" ideal is quite strong in the Forth culture and exemplified by Moore's own quest for an optimal set of language elements.
+
+See also:
+
+* [Thinking Forth (the classical Forth book](http://thinking-forth.sourceforge.net/)
+* [Forth - the Early Years (by Chuck Moore)](https://colorforth.github.io/HOPL.html)