Forth

Z Multimediaexpo.cz

Forth je strukturovaný programovací jazyk, který se v dnešní době používá zejména ve vestavěných (embedded) systémech a real-time prostředích. Jazyk Forth vyvinul v roce 1969 američan Charles H. Moore, který je dosud jednou z významných osobností podílejících se na rozvoji výpočetní techniky.

Obsah

Historie

Vývoj programovacího jazyka Forth probíhal velmi zajímavě. Nikdy se totiž nejednalo o čistě „akademický produkt“, který by měl reprezentovat nějakou nosnou myšlenku (a tím méně o jazyk určený pro výuku programování), ale o programovací jazyk, který vytvořil v podstatě jeden člověk pro svoji osobní potřebu tak, aby přesně splňoval jeho pracovní požadavky.

Tento člověk se jmenuje Charles „Chuck“ Moore a dodnes patří mezi zajímavé a současně velmi rozporuplné osobnosti, které se podílely na rozvoji výpočetní techniky, zejména vestavěných (embedded) řídících systémů a systémů běžících v reálném čase. Moore byl prý překvapen, když zjistil, že systém, který vyvinul pro své potřeby, používají i další lidé, kterým v jejich práci vyhovuje více než v té době komerčně prosazovaný Fortran.

Do značně heterogenního prostředí počítačů a operačních systémů sedmdesátých let přišel Moore se svým jazykem (či lépe řečeno celou vývojovou platformou) Forth. Vývojové prostředí Forthu obsahovalo interaktivní editor, interpret jazyka Forth a univerzální vazbu na assembler upravený na právě provozovaný systém. Toto prostředí umožňovalo spouštět souběžně více procesů a současně mohlo v systému nezávisle pracovat až 64 uživatelů, a to i na platformách, jejichž operační systém nebyl multiuživatelský a dokonce ani multitaskový.

Vlastnosti

Forth je založen na použití dvojice zásobníků. První zásobník se nazývá zásobník operandů, druhý zásobník návratových adres. Prakticky všechny Forthovské příkazy ovlivňují položky v jednom nebo obou zásobnících. Pro zápis příkazů i matematických operací je použita postfixová notace, někdy také nazývaná obrácená polská notace (anglicky Reverse Polish Notation). Při tomto způsobu zápisu se nejdříve uvádějí operandy a teprve za nimi následují operátory.

Příklady

Jednoduchá aritmetika:

10 20 +
10 20 *
10 20 -
10 20 + 30 *
5 4 3 2 1 * / + -

Vytvoření nového slova:

: print
  .
  cr
;

Použití nově definovaného slova:

10 print
1 2 + print
1 2 3 * - print

Počítané smyčky:

: smycka1
    10 1 do
        i . cr
    loop
;

Externí odkazy