Forth (linguaggio)
| Forth | |
|---|---|
| Autore | Chuck Moore |
| Data di origine | 1977 |
| Utilizzo | General purpose |
| Paradigmi | Programmazione procedurale |
| Tipizzazione | Statica, debole |
| Influenzato da | Lisp, APL |
| Ha influenzato | Factor, PostScript, RPL, REBOL |
Il Forth è un linguaggio di programmazione sviluppato da Chuck Moore presso l'US National Radio Astronomy Observatory (NRAO) durante gli anni sessanta, ma che venne formalizzato solo nel 1977, per essere poi standardizato dall'ANSI nel 1994. Il nome deriva dal fatto che Moore pensava fosse un linguaggio di quarta generazione (fourth generation language in inglese), ma il computer sul quale il sistema venne sviluppato ammetteva solo nomi di cinque lettere. Nato per essere un linguaggio del futuro, verrà poi utilizzato in ambiti specifici "tradizionali" come il software di controllo.
Sopravvissuto solo tra gli appassionati e tra gli accademici, i primi per diletto e lavoro, i secondi per la ricerca in ambito lambda calcolo, conta nel tempo diversi casi di successo distribuiti negli anni. Il libro Thinking Forth ebbe una terza ristampa nel 2004.
Indice
Caratteristiche[modifica | modifica wikitesto]
Il Forth prevede la possibilità sia di essere eseguito in modalità interattiva, rendendo possibile il suo utilizzo come shell in sistemi che non possedevano un vero e proprio sistema operativo, sia la possibilità di compilare sequenze di comandi per una loro successiva esecuzione.
Come linguaggio di programmazione vero e proprio, il Forth è dotato di un insieme di comandi standard piuttosto potente e di meccanismi che permettono di definire propri comandi, anche usando un mix di comandi standard e linguaggio Assembly. Dato che al livello più alto il codice sorgente di un programma Forth può arrivare ad assomigliare molto al linguaggio naturale inglese, è stato chiamato anche un linguaggio meta-applicativo.
Il classico esempio di stampa di "Ciao mondo", in Forth si scrive definendo una funzione chiamata "Ciao" in questo modo:
: CIAO ." Ciao mondo" CR ;
in seguito digitando CIAO si otterrà la stampa della stringa.
Bibliografia[modifica | modifica wikitesto]
- (EN) Leo Brodie, Starting Forth, 1982, ISBN 0-13-842922-7
- (EN) Leo Brodie, Thinking Forth, 2004, ISBN 0-9764587-0-5
- Gio Federico Baglioni e Giacomino Baisini, Forth per VIC20 e CBM64 (PDF), Gruppo Editoriale Jackson, 1983, ISBN 88-7056-141-0.
Altri progetti[modifica | modifica wikitesto]
Wikimedia Commons contiene immagini o altri file su Forth
Collegamenti esterni[modifica | modifica wikitesto]
Implementazioni Forth gratuite[modifica | modifica wikitesto]
- PFE -- Portable Forth Environment, pfe.sourceforge.net.
- Gforth -- GNU Forth, jwdt.com.
- kForth -- Piccolo interprete Forth scritto in C++, ccreweb.org.
- SP-Forth (SPF) -- OpenSource Forth per Win32, spf.sourceforge.net.
- Informazioni sul Forth per Home-Computer 8-bit (Atari, Apple, ZX-80, ...), strotmann.de.
- RetroForth -- Public Domain, per DOS, Linux, FreeBSD, Windows, retroforth.org.
- HerkForth - A colorforth per Linux/PPC, herkamire.com.
- - TWiki's Forth page - con la lista di alcune implementatzioni per Home-Computer.
Comunità di utenti Forth[modifica | modifica wikitesto]
- Forth-specific wiki, forthfreak.net.
- Forth Interest Group, forth.org.
- The original Wiki's Forth page, c2.com.
- IRC: irc.freenode.net, channel #forth. To connect from Europe, irc.eu.freenode.net is preferred.
- The ForthSource reference, theforthsource.com.