A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Paradigma | imperativní (procedurální), strukturovaný |
---|---|
Vznik | 1969 |
Autor | Charles H. Moore |
Typová kontrola | beztypovost |
Ovlivnil jazyky | PostScript, Joy |
Forth je 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 roku 1969 Charles H. Moore, který je jednou z významných osobností, jež se podílely na rozvoji výpočetní techniky.
Historie
Kolem roku 1970 se objevuje označení FORTH (název je od slova FOURTH-čtvrtý, jazyk pro příští, čtvrtou generaci malých počítačů). Forth tedy nevznikl akademickým rozhodnutím, vytvářel ho jeden člověk, jedno desetiletí, jako pomůcku pro práci. První kompletní samostatnou aplikací Forthu je v roce 1971 řízení radioteleskopu pro NRAO. Další aplikace jsou v řízení antén, teleskopů, databáze, zpracování obrazu.
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. Ve Forthu se místo označení operátor nebo funkce používá "slovo".
Příklady
Jednoduchá aritmetika
10 20 + ( toto je komentář )
10 20 * \ toto je jednořádkový komentář
10 20 - ( 10 způsobí vložení čísla 10 na vrchol zásobníku operandů a
slovo - vezme dvě horní čísla ze zásobníku a vrátí na zásobník jejich součet )
10 20 + 30 * ( zpětné lomítko a závorky jsou také slova, takže musí být
oddělena mezerou od okolních znaků )
5 4 3 2 1 * / + -
Vytvoření nového slova
: print
. \ slovo . vypíše hodnotu na vrcholu zásobníku
cr \ slovo cr vypíše znak konce řádku
;
Použití nově definovaného slova
10 print
1 2 + print
1 2 3 * - print
Základní slova pro práci se zásobníkem
1 2 swap \ zásobník: 2 1
drop \ zásobník: 2
dup \ zásobník: 2 2
drop drop \ zásobník:
1 2 3 rot \ zásobník: 2 3 1
over \ zásobník: 2 3 3 1
Řídící struktury
Podmínka
10 20 > if
20 .
else \ větev else je nepovinná
10 .
then
Počítaná smyčka
\ tento cyklus vypíše čísla od 1 do 10
10 1 do ( první argument slova do udává, kolikrát se bude cyklus opakovat
druhý udává počáteční hodnotu počitadla )
i . cr \ slovo i vloží na vrchol zásobníku hodnotu počitadla
loop
Cyklus while-do
\ tento cyklus vypíše čísla od 1 do 10
0
begin
dup 10 <
while
1 +
dup . cr
repeat
drop
Cyklus s podmínkou na konci
\ vypočítá pomocí Euklidova algoritmu největší společný dělitel ze dvou čísel
: gcd
begin
swap over mod
dup 0 = \ podmínka
until \ opakuje se dokud je podmínka nepravdivá
drop
;
Nekonečný cyklus
\ tento cyklus vypíše čísla od 1 do 10
0
begin
1 +
dup . cr
dup 10 > if
abort \ slovo abort ukončí smyčku
then
again
Externí odkazy
- Obrázky, zvuky či videa k tématu Forth na Wikimedia Commons
- Seriál Forth z časopisu Amatérské radio
- Seriál o programovacím jazyku Forth na Root.cz
- Forth.cz
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antropológia
Aplikované vedy
Bibliometria
Dejiny vedy
Encyklopédie
Filozofia vedy
Forenzné vedy
Humanitné vedy
Knižničná veda
Kryogenika
Kryptológia
Kulturológia
Literárna veda
Medzidisciplinárne oblasti
Metódy kvantitatívnej analýzy
Metavedy
Metodika
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk