Fantom (linguaggio di programmazione)

linguaggio di programmazione

Fantom, è un linguaggio di programmazione general purpose, multi-paradigma, open source creato a partire dal 2005 dai fratelli americani Andy e Brian Frank. Questo linguaggio è studiato sia per girare sulla JVM (Java Virtual machine) che costituisce il target principale, sia appoggiandosi ad altri framework. È infatti parzialmente sviluppato il supporto per Microsoft.Net e si pensa di poter in futuro approcciare anche LLVM e Parrot mentre è in grado anche di emettere codice JavaScript per consentire l'esecuzione su browser. Per adottare questa polivalenza i creatori del linguaggio hanno pensato un set di API specifico. Fantom, come filosofia, non si discosta da altri linguaggi moderni ed abbraccia in particolare sia la programmazione a oggetti che la programmazione funzionale La sua sintassi è vicina a quella dei linguaggi attualmente più utilizzati in particolare Java e CSharp allo scopo, evidentemente, di predisporre una curva di apprendimento più dolce. L'installazione standard, effettuabile dopo aver prelevato il software dal sito ufficiale, prevede anche la presenza di una libreria grafica (Fantom Widget Toolkit), di un piccolo editor dedicato (Flux) e di un web server. Fantom adotta una sua nomenclatura peculiare per cui l'equivalente dei namespace di.Net o dei package in ambito Java si chiama Pod, all'interno dei quali troviamo i tipi (classi) a loro volta specificati tramite slot (campi e metodi).

Fantom
linguaggio di programmazione
AutoreAndy Frank e Brian Frank
Data di origine2005
Ultima versione1.0.78 del 26 aprile 2022
Utilizzo~
Paradigmimulti paradigma
Tipizzazione~
Implementazione di riferimento
Sistema operativomultipiattaforma
Licenzasoftware libero
Sito webwww.fantom.org

Piattaforme supportate modifica

Fantom supporta pienamente al momento la piattaforma Java 2 Runtime Environment (JRE) e in maniera parziale il framework Microsoft.Net. Gira sia su sistema operativo Windows che su Mac e Linux.

Hello, World modifica

Il seguente esempio propone il classico "Hello, World!":

 class HelloWorld
 {
 static Void main()
   {
   echo("Hello, World")
   echo("Ciao, Mondo")
   }
 }

Caratteristiche del linguaggio modifica

  • prevede la tipizzazione statica
  • è possibile utilizzare alcuni aspetti tipici dei linguaggi dinamici tramite chiamate dinamiche e downcasting automatico.
  • supporta la programmazione orientata agli oggetti
  • supporta la programmazione funzionale
  • supporta l'ereditarietà singola con uso dei mixin (interfacce con implementazione)
  • supporta la concorrenza tramite "modello degli attori"
  • può interagire con Java sia pure con qualche limitazione
  • prevede solo interi definiti su 64 bits
  • non prevede i generics, per via della loro complessità ma esistono alcune classi generiche predefinite (Map, Func, List),

Evoluzione del nome modifica

Il progetto originale dei fratelli Frank aveva attribuito al linguaggio il nome "Fan". Avendo successivamente raggiunto una certa popolarità, sotto la spinta delle richieste degli utilizzatori, si pensò a un nome che fosse più facile da rintracciare sui motori di ricerca e si decise quindi per Fantom.

Collegamenti esterni modifica

  • (EN) Sito ufficiale, su fantom.org.  
  • (EN) Blog degli autori, su andyfrank.com. URL consultato il 15 aprile 2012 (archiviato dall'url originale il 28 settembre 2012).
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica