Ceylon (linguaggio di programmazione)

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Ceylon
linguaggio di programmazione
AutoreRed Hat e Gavin King
Data di origine2011
Ultima versione1.2.0 (29 ottobre 2015) e 1.3.3 (21 agosto 2017)
Paradigmiprogrammazione orientata agli oggetti, programmazione funzionale, programmazione imperativa e programmazione multi-paradigma
Estensioni comuniceylon
Influenzato daScala, Smalltalk, ML programming language, Lisp e Java
Implementazione di riferimento
LicenzaApache 2.0
Sito webceylon-lang.org/

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.

Piattaforme supportate[modifica | modifica wikitesto]

Ceylon allo stato attuale è strutturato per interoperare con la piattaforma Java 2 Runtime Environment (JRE).

Hello, World[modifica | modifica wikitesto]

Il seguente esempio propone il classico Hello World:

 void main() {
 print("Hello, World");
 }

Caratteristiche del linguaggio[modifica | modifica wikitesto]

  • prevede la tipizzazione statica
  • imperativo
  • orientato agli oggetti
  • supporta l'ereditarietà singola con uso delle interfacce
  • prevede polimorfismo degli operatori

Collegamenti esterni[modifica | modifica wikitesto]