Twórcą języka programowania FORTH jest Amerykanin Charles H. Moore.
Moore stworzył nowatorską koncepcję języka i zrealizował ją w praktyce,
dokonał pierwszej implementacji FORTH-a czyli jego wprowadzenia do konkretnego
komputera.
Był nim IBM 1130, a stało się to pod koniec lat sześćdziesiątych. W
szybkim rozwoju informatyki tamte czasy można uznać za zamierzchłe. Mimo to
podstawowe założenia nowego języka utrzymały się do dziś w niezamierzonej
postaci.
Moore był przekonany, że stworzył język, który lepiej niż
jakikolwiek inny pozwala rozwiązywać zadania programistyczne na małych
komputerach.
Pierwszym szerszym zastosowaniem praktycznym FORTH-a stało się
wykorzystanie go w roku 1971 do przetwarzania danych w Krajowym Obserwatorium
Radioastronomicznym USA. W pięć lat później komitet Międzynarodowej Unii
Astronomicznej uznał FORTH za standardowy język programowania w astronomii.
W sprawie powstania nazwy FORTH, często podaje się dwa wyjaśnienia.
Moore miał być przekonany, że wynalazł język czwartej (fourth) generacji.
Ponieważ jednak IBM 1130 akceptował tylko nazwy pięcioliterowe, obrał skróconą
wersję liczebnika. Istnieje też inne wyjaśnienie powstania tej nazwy. Uważa
się także, iż Moore nazwał tak język ze względu na to, że zadowalający
wynik osiągnął w czwartej próbie, a posłużył się do wykonania pierwszego
interpratora językiem FORTRAN. Ponoć dlatego również nazwę FORTH, przez
nawiązanie do FORTRAN-u, wymawia się z twardą końcówką, jak polskie słowo
fort. Nawiasem mówiąc FORTH jest całkowicie inny niż FORTRAN.
FORTH stał się rewelacją, a krąg jego zwolenników szybko się
rozszerzył. Sam Moore założył instytucję wytwarzającą programy o nazwie
FORTH Inc. Doszło też do powstania FORTH Interest Group w USA, która odgrywa
obecnie dużą rolę
w upowszechnianiu języka i krzewieniu wiedzy o nim, opracowuje programy,
wydaje pisma i książki
specjalistyczne, w tym podręczniki instrukcyjne zawierające szczegółowe
opisy języka i jego programowania użytkowego. Przedrostek fig zaznacza,
że implementacja dokonana jest w oparciu o zalecenia FORTH Interest Group.
FORTH nie ma oficjalnego standardu światowego, jednak do jego jednolitości
przyczynia się fakt, że podstawowe rozwiązania fig-FORTH-a akceptuje
kalifornijski FORTH Standard Team ustalający kolejne standardy, ostatni w roku
1983. Dzięki temu implementacje FORTH-a dokonywane na dziesiątki komputerów w
różnych krajach mają taki sam podstawowy zasób słów, a posiadacze
rozmaitych komputerów stosunkowo łatwo mogą ustalić wspólny język.
FORTH należy do języków programowania określanych mianem języków
algorytmicznych wysokiego poziomu. Podobnie jak pozostałe spośród nich
stanowi narzędzie, które ułatwia i usprawnia programowanie. Zastosowane w
FORTH oryginalne rozwiązania nadają mu nieco odrębną pozycję. Główne
swoiste cechy FORTH-a to:
- oparcie się na podstawowej jednostce programowej
zwanej słowem, któremu
w innych językach odpowiadają pojęcia komendy, podprogramu, a także
stałej lub zmiennej;
- skupienie zarówno słów predefiniowanych, jak i
tworzonych przez użytkownika
w jednej wspólnej strukturze, dającej się dowolnie rozszerzać, aż
po granice pamięci komputera, zwanej słownikiem;
- kompilowanie tworzonych słów w postaci kodu
gotowego do natychmiastowego wykonania;
- posługiwanie się we wszystkich obliczeniach pośrednią
strukturą stosu;
- stosowanie w podstawowej wersji dwubajtowych liczb
całkowitych ze znakiem
z możliwością korzystania również
z liczb bez znaku, liczb podwójnych (czterobajtowych), a także arytmetyki
zmiennopozycyjnej;
- stosowanie odwrotnej notacji polskiej (ang. reverse
polish notation) (znaki działań po liczbach).
Programowanie
w FORTH polega na tworzeniu nowych słów za pomocą słów wcześniej
zdefiniowanych. Proces ten trwa do chwili, gdy ostatnie słowo obejmie i scali
poprzednio stworzone. Napisanie tego słowa i naciśnięcie klawisza Enter wywoła
program.
Programowanie w FORTH przypomina zatem wkładanie mniejszych pudełek do
większych w najdogodniejszych zestawach, aż wreszcie ostatnie, największe
pudełko staje się programem. W informatyce określamy to jako programowanie od
dołu do góry.
FORTH nie przyjmuje nie zdefiniowanego słowa, czyli procedury, zmiennej
lub stałej.
Autor:
Grzegorz Gałęzowski
gsgalezowski@poczta.onet.pl