After the response to my question about 'dBase', I thought I would go back a few MORE years, and either
'remind' or "edumicate (haha)" the 'young-uns' about a very old 'Language' called "Forth", dating back to
1968, and designed by "Charles Moore", which UNFORTUNATELY has fallen into dis-use today !!
Sorry for my initial 'ramblings' here, but it was a Language much before it's time! In fact in it's day, it WAS
used in the Chips of specialized hand-held Engineering/Industrial 'Calculators' etc, and for automated control
of many machines, (imagine a 'washing-machine' today!!), and should have had a lot better recognition TODAY.
It was considered the 'Fourth' generation for computer hardware, but the original 'computer' utilized could only
handle a '5-bit' filename, so "Fourth" became 'Forth'. (Please hang on.... I'm getting there !!
)
This 'Language', was initially defined with what they called 'Primitives'. An original 'Subset' of 'Words/commands'
that were used to 'Create/Define' higher & higher level words, including such high level words along the way !
To that in the end, ONE 'word' could describe the operation of an entire application ! (This is hard to grasp...).
(You were effectively creating your own tailored 'language' along the way, and the original/new commands
could be 'written' out in a meaningful 'Sentence' like structure...... For Eg.... The command 'RunNow'......
"Open Valve 1 Till Sensor 2 High. Close Valve 1. Start Pump 3".... etc etc...
W.T.F. ? Yep!, that's how you would 'program' it, using these higher level 'words'.
The ENTIRE software package would take up between 20k & 40k on a PC, and something like 20k on a Commodore-64.
It's 'NUMBERING' system was definitely not for the 'Feint-Hearted' today...
and utilized the "RPN" system....
"RPN" stands for "Reverse-Polish-Notation", and when explained, it all makes sense !!
THIS mathematical system has NO 'Parenthesis' characters in an equation, so placement it critical. Let's explain....
NORMALLY, we may say something like.... 2+(3*4) where obviously 3*4=12, + 2 = 14.
This is NOT the same as ... (2+3)*4 where 2+3 = 5, * 4 = 20 !!!
If we WANT the 1st scenario to be valid, using RPN, we would say..... 3,4,*,2,+ (no parenthesis)
If we WANT the 2nd scenario to be valid using RPN, we would say..... 2,3,+,4,* (no parenthesis)........
AArgh... why would we do this !!!!!...... EVERYTHING in 'Forth' utilizes STACKS. Numbers & operands placed on
'LIFO' (Last-In-First-Out) stacks. It is the basis of the whole language
When you understand STACK manipulation
you are 90% there....
You can STILL download & play with 'FORTH' from numerous sources, including versions now for the PC that include
quite good graphical control/display too.....
THIS 'LANGUAGE' SHOULD NEVER HAVE DIED' xox