Forth
A Forth egy struktúrált, imperatív, verem-alapú programozási nyelv. A Forth nagy előnye rettentően kis memóriaigénye, és rendkívül nagy végrehajtási sebessége, amelyet a gépi feldolgozáshoz igen közeli szerkezeteinek köszönhet, amiért cserébe azonban rettentően olvashatatlan szintaktikával és programszerkezettel kell fizetnünk. A Forth gyakorlatilag az egyetlen magasszintű programozási nyelv, amely utasításainak feldolgozására közvetlenül alkalmas processzorokat gyártottak.
A Forth-ban - szemben a legtöbb más programozási nyelvvel, amelyben csak egy ilyen található - két verem (stack) is létezik: egy az adatoknak, egy pedig az hívások követésére. A nyelv mindössze néhány alaputasítást tartalmaz, a magasabb szintű szerkezeteket pedig magának a programozónak kell kialakítani ezekre építkezve.
Kezdetben csillagvizsgálók távcsöveinek, műholdak vezérlése használták, később a beágyazott rendszerek kedvelt fejlesztőnyelvévé vált.
Példa:
." Hello, World" ( Ez az utasítás kiír egy üdvözletet ) : SziaVilág ." Hello, World" ; ( Egy saját szót definiálunk ) SziaVilág ( meghívjuk ) ( Most egy olyan szót definiálunk, ami ezt többször is kiírja ) : SokszorSzia ( egy számot vár paraméterként ) 1 DO SziaVilág CR LOOP ; 5 SokszorSzia ( Kipróbáljuk )
A FORTH-rendszerben a végrehajtás egysége a szó: ez névvel ellátott és önállüan végrehajtható programegységet jelent. A szavak neve tetszőleges ASCII-jelsorozat lehet (kivéve a szóközt), 1-31 hosszban. A rendszer a felhasználói a szóközök mentén felbontja, és az egyes részeket először szóként, azután számként próbálja értelmezni. A szavakhoz tartozó programot végrehajtja, a számokat egy veremre helyezi, ezt a vermet a szavak futásuk során írják és olvassák.
Néhány a legfontosabb szavak közül (zárójelben a verem állapota a művelet előtt és után:
. a verem tetején lévő szám kiírása ( n ___ ) + a verem tetején lévő két szám összeadása ( n m ___ n+m ) : szódefináló szó ; kilépés a szódefinícióból WORD egy rész olvasása az inputból ( végjel ___ ) ( megjegyzés kezdete, a megjegyzés vége a ')' ." sring kiírás, a string vége a " -- csak fordítási módban
Az utóbbi példa azt mutatja, hogy egyes szavak maguk is olvassák a felhasználói inputot