La lingua Ceylon di Red Hat è una tempesta inutile in una teiera

Red Hat non può essere serio. Il principale fornitore di Linux non può davvero pensare di sviluppare un linguaggio di programmazione e un SDK nuovi di zecca per competere con Java, vero?

Apparentemente può, anche se sembra che Red Hat non volesse ancora che tu lo sapessi. Invece del consueto comunicato stampa, l'annuncio di Red Hat è arrivato sotto forma di un paio di presentazioni dell'ingegnere Red Hat e del collega di JBoss Gavin King, tenute alla conferenza sul software aziendale QCon la scorsa settimana a Pechino. Le presentazioni di King sono diventate rapidamente virali sul Web, tuttavia, lasciando la più ampia comunità di sviluppatori di software sia incuriosita che perplessi.

[Paul Krill spiega perché Ceylon non è un killer di Java. | Vedi le scelte di per i primi 5 linguaggi di scripting JVM. | Resta al passo con le ultime tecniche Java con la newsletter JavaWorld Enterprise Java. ]

Incuriosito, perché King non è un manichino. In qualità di creatore del framework di persistenza Java Hibernate, conosce Java dentro e fuori. Quindi, se dice che ci sono problemi fondamentali con Java che lo rendono inadeguato per lo sviluppo del software moderno, la gente tende ad ascoltarlo.

Perplesso, a causa di tutte le cose su cui Red Hat potrebbe spendere tempo, energia e denaro, reinventare la ruota, in particolare una ruota grande e complessa come Java, sembra la meno utile, per non parlare della meno probabile riuscire. Cosa diavolo sta pensando Red Hat?

Ceylon: Java redux

I media si sono affrettati a cogliere l'idea che Red Hat stesse inventando un "killer Java", cosa che King è stata altrettanto pronta a negare. Tuttavia, il nome della lingua, Ceylon, è di per sé una sorta di omaggio. Java e Ceylon sono entrambe isole, ma mentre Java è famosa per il suo caffè, Ceylon (ora Sri Lanka) è famosa per il suo : capisci?

Questo non vuol dire che il linguaggio di programmazione Ceylon diverga completamente da Java. Al contrario, si basa sull'ambiente di runtime Java. Ceylon compila in bytecode Java, che può quindi essere eseguito dalla JVM di tua scelta.

Dove le lingue differiscono è in gran parte in materia di sintassi. Sebbene fosse ovviamente un fan, King crede che Java non sia riuscito a tenere il passo con gli sviluppi introdotti dai linguaggi di programmazione più moderni, come C #. Pensa che sia giunto il momento che qualcuno dia un'analisi approfondita al linguaggio Java, eliminando gli errori e risolvendo errori di vecchia data, come il supporto per funzioni di ordine elevato e una migliore gestione dei tipi. L'ha fatto e chiama il risultato Ceylon.

Ma il progetto Ceylon mira a fare di più che rinnovare semplicemente la grammatica di Java. "Gran parte della nostra frustrazione non è nemmeno con il linguaggio Java stesso", scrive King. "Le librerie di classi estremamente obsolete che formano Java SE SDK sono piene di problemi. Lo sviluppo di un ottimo SDK è una priorità assoluta del progetto."

Hai sentito bene: il progetto Ceylon produrrà non solo un nuovo linguaggio, ma un nuovo set di librerie di classi scritte in e per quel linguaggio. Non ci saranno incongruenze qui, non ci sarà alcun ritorno alla sintassi Java quando è necessario utilizzare un elemento dalla libreria standard. I programmi Ceylon verranno eseguiti sulla JVM, ma verranno scritti utilizzando Ceylon al 100%.

Qualcuno ha ordinato un nuovo linguaggio di programmazione?