Ceylon (linguaggio di programmazione)
Ceylon è un linguaggio di programmazione general purpose, multi-paradigma, open source inizialmente progettato dal programmatore Gavin King (già noto per essere il creatore del ORM Hibernate) e dal suo team per conto di Red Hat. Ceylon è studiato per girare sulla JVM (Java Virtual machine) ed è ispirato dall'analisi di altri linguaggi di programmazione operanti sulla stessa piattaforma anche se principalmente è stato Java il modello seguito, soprattutto a livello sintattico. Peraltro ci sono, rispetto a Java, alcune differenze sostanziali; ad esempio non è permesso l'overload degli operatori, sostituito da un loro comportamento polimorfico. Lo sviluppo è iniziato nel 2009 ma solo nel 2011 al QCon di Pechino lo stesso King ha presentato il progetto che prevede anche un SDK dedicato ed indipendente. Una prima versione pubblica del compilatore, sia pure allo stadio embrionale e con funzionalità ridotte, è stata distribuita a fine dicembre 2011. Ceylon è un linguaggio a tipizzazione statica e, stante la vicinanza con Java, è particolarmente orientato verso la programmazione a oggetti. Nel mese di agosto del 2017 il progetto è stato donato alla Eclipse Foundation. Successivamente non ha più ricevuto alcun aggiornamento.
Ceylon linguaggio di programmazione | |
---|---|
Autore | Red Hat e Gavin King |
Data di origine | 2011 |
Ultima versione | 1.2.0 (29 ottobre 2015) e 1.3.3 (21 agosto 2017) |
Paradigmi | programmazione orientata agli oggetti, programmazione funzionale, programmazione imperativa e programmazione multi-paradigma |
Estensioni comuni | ceylon |
Influenzato da | Scala, Smalltalk, ML, Lisp e Java |
Implementazione di riferimento | |
Licenza | licenza Apache 2.0 |
Sito web | ceylon-lang.org/ |
Piattaforme supportate
modificaCeylon allo stato attuale è strutturato per interoperare con la piattaforma Java 2 Runtime Environment (JRE).
Hello, World
modificaIl seguente esempio propone il classico Hello World:
void main() { print("Hello, World"); }
Caratteristiche del linguaggio
modifica- prevede la tipizzazione statica
- imperativo
- orientato agli oggetti
- supporta l'ereditarietà singola con uso delle interfacce
- prevede polimorfismo degli operatori
Collegamenti esterni
modifica- (EN) Sito ufficiale, su ceylon-lang.org.
- (EN) Ceylon, su GitHub.
- Repository sorgenti di Ceylon, su github.com.
- (EN) Materiale vario sul linguaggio, su relation.to. URL consultato il 1º gennaio 2012 (archiviato dall'url originale il 22 dicembre 2011).
- (EN) Presentazione del progetto su InfoQ ad aprile 2011, su infoq.com.
- (EN) Slide di presentazione, su devstonez.wordpress.com.