Ya hemos visto en nuestro articulo anterior cómo se podía crear un programa Hola Mundo con Ceylon y cual era el procedimiento para compilarlo.
Ceylon es un lenguaje en desarrollo que corre sobre la JVM y pretende darle otro enfoque a la programación en Java.
Ahora vamos a crear una clase con Ceylon. Para ello vamos a ver cómo podemos crear la clase «Persona» en Java, Ceylon y Groovy, además un método que imprima un mensaje.
Clase Persona en Java
public class MainPersona{
//método principal del programa
public static void main(String[] args) {
new MainPersona().ver(new Persona());
}
public void ver(Persona persona){
persona.verMsg();
}
}
class Persona{
//imprimir un mensaje
public void verMsg(){
System.out.println("funcionando...desde Java");
}
}
Para compilar la clase Java escribiremos:
javac -g MainPersona.java
Y para ejecutar la clase Java:
java MainPersona
Clase Persona en Ceylon
doc "Ejemplo de clases"
by "Yo"
class Persona(){
//imprimir un mensaje, la palabra reservada "shared" es algo parecido a la public de java
shared void verMsg(){
print("funcionando...desde Ceylon");
}
}
//se pude considerar la función "main" del programa
void run(){
verPersona(Persona());
}
void verPersona(Persona persona){
persona.verMsg();
}
Para compilar la clase en Ceylon escribiremos:
ceylon compile source\Persona.ceylon
Y para ejecutar la clase en Ceylon:
ceylon run default
Clase Persona en Groovy
class Persona{
//imprimir un mensaje
def verMsg(){
println "funcionando...desde Groovy"
}
}
//método principal del programa
static main(args) {
verPersona(new Persona())
}
def verPersona(Persona persona){
persona.verMsg()
}
Para compilar la clase Groovy:
groovyc Persona.groovy
Y para ejecutar la clase Groovy:
groovy Persona.groovy
En los tres programas el resultado es el mismo (el mensaje en pantalla), además es de notarse que en Java se escribe más código.
Java, Ceylon y Groovy
La diferencia más importante a notar es que tanto Java como Ceylon son lenguajes de tipado estático, donde los tipos de datos son muy importantes a la hora de la compilación (esto puede evitar errores). Mientras que en Groovy al ser de tipado dinámico nos permite omitir el tipo de dato.
Espero que el ejemplo para crear una clase en Ceylon sirva para que alguien se interese en el lenguaje.