Ceylon fue un lenguaje de programación que prometía algo que otros han intentado sin éxito: ser el verdadero sucesor de Java.
Tampoco lo logró.
Fue creado por Gavin King, el mismo creador de Hibernate, y "lanzado" el año 2011.
Digo lanzado, porque las versiones "lanzadas" nunca llegaban a ser estables. Pues cada versión lanzada (valga la redundancia) afectaban al lenguaje y que confundían al pobre ingenuo que se acercaba al lenguaje con el objetivo de aprendera a usarlo.
Lo que aprendías en una versión lo debías desaprender en la nueva... y así sucesivamente.
Actualmente el lenguaje se encuentra archivado por la Fundación Eclipse: https://projects.eclipse.org/projects/technology.ceylon
Ceylon posee (¿debería hablar en presente?) una sintaxis similar a la de Java y C#. Quienes venían de esos lenguajes podían adentrase al lenguaje sin tanto problema.
Características principales:
- Orientado a objetos.
- Soporte a la meta programación.
- Imperativo.
- De tipado estático.
- Soporte la construcción modular.
- Multiplataforma.
- Además de tener su propio IDE (plugin para Eclipse).
Un vistazo a Ceylon
El clásico "Hola, mundo" en Ceylon.
holamundo.ceylon
shared void run(){ print("Hola, mundo en Ceylon"); }
No mencionaremos cómo compilarlo y ejecutarlo ya que, como mencionamos, cada versión del lenguaje cambiaba todo. Desde cómo comentar código hasta como construir el ejecutable.
Entrevista sobre Ceylon a Gavin King
El tema central de la entrevista fue sobre el nacimiento y propósito del lenguaje Ceylon.
Gavin King comentó que, tras años trabajando con Java, detectó limitaciones en su sistema de módulos y en la coherencia del lenguaje. Ceylon surge para ofrecer una sintaxis más moderna y un modelo de tipos más seguro.
Observemos esta tabla comparativa entre Ceylon y Java.
| Aspecto | Java | Ceylon |
|---|---|---|
| Origen y creador | Desarrollado por Sun Microsystems (1995), liderado por James Gosling. | Creado por Gavin King en Red Hat (2011). |
| Objetivo principal | Lenguaje de propósito general para aplicaciones empresariales, móviles y web. | Modernizar el ecosistema Java con un lenguaje más coherente, modular y expresivo. |
| Paradigma | Orientado a objetos con soporte funcional desde Java 8. | Mixto: orientado a objetos y funcional, con fuerte énfasis en modularidad y claridad semántica. |
| Tipado | Estático y fuerte, pero con inferencia limitada. | Estático y fuerte, con inferencia de tipos avanzada y tipos unión/intersección. |
| Sistema de módulos | Introducido en Java 9 (Jigsaw), pero complejo y poco intuitivo. | Sistema de módulos nativo desde el inicio, simple y coherente. |
| Interoperabilidad | Corre sobre la JVM y puede interactuar con otros lenguajes del ecosistema. | Compila para JVM y JavaScript, permitiendo ejecución en servidor y navegador. |
| Sintaxis | Verbosa y orientada a clases. | Más concisa, con sintaxis moderna y expresiva. |
| Herramientas | Ecosistema maduro (IDE, frameworks, librerías). | IDE propio con compilador, gestor de módulos y documentación integrada. |
| Enfoque de diseño | Prioriza compatibilidad y estabilidad. | Prioriza legibilidad, coherencia y seguridad de tipos. |
| Casos de uso | Aplicaciones empresariales, Android, sistemas financieros. | Aplicaciones modulares, APIs, servicios distribuidos y código multiplataforma. |
Ceylon representó su intento de modernizar el paradigma Java, ofreciendo una alternativa más elegante y coherente para proyectos grandes y distribuidos. Fue una lástima que no lo haya logrado.
Enlaces:
https://en.wikipedia.org/wiki/Ceylon_(programming_language)https://swizec.com/blog/cool-thing-thursday-ceylon/
https://codemonkeyjunior.blogspot.com/2012/04/ceylon-funcionando-correctamente.html
https://projects.eclipse.org/projects/technology.ceylon
https://web.mit.edu/ceylon_v1.3.3/ceylon-1.3.3/doc/en/spec/html_single/#:~:text=Ceylon%20is%20a%20general%2Dpurpose,oriented%2C%20and%20higher%2Dorder.

_logo.png)






