blog de Sr. Negativo

Ceylon: Interoperabilidad con Java

Ceylon nos permite la interoperabilidad con Java, podemos importar sus librerías e integrarlas a nuestro código. En este post haremos un ejemplo de como importar librerías de Java a nuestro código Ceylon.

En este caso no usaremos ningún IDE, usaremos la consola de comandos (en mi caso uso Linux). Crearemos una estructura de directorios similar a esta:

Tendremos estos tres archivos con la extensión *.ceylon:

  1. run.ceylon
  2. module.ceylon
  3. package.ceylon

Dentro de cada archivo escribiremos:

run.ceylon

shared void run(){
   print("Importando librerias de Java en Ceylon");
}

module.ceylon

module holaCeylon "1.0.0"{
    import java.base "7"; // se debe tener instalada la versión 7 del JDK
}

package.ceylon
shared package holaCeylon;

Ahora volvemos al archivo run.ceylon e importamos la librería java.util.HashMap de Java.

¿Por qué es dificil (aprender a) programar?

Falta de tiempo, poca o nula motivación, otras actividades a realizar ... un sin fin de excusas. Tal vez un poco de flojera. Para algunos realmente si es difícil aprender cualquier cosa. Para otros tan solo es necesario una buena taza de café, sentarse, leer y practicar un poco para iniciarse en el mundo de la programación.

Casi todos los lenguajes de programación se parecen o son muy similares. El problema es que muchas veces no existe la iniciativa, esperamos que las cosas nos caigan del cielo. No se estudia correctamente. Quieren aprender un lenguaje, pero desconocen los aspectos básicos: la lógica y las matemáticas(no necesariamente debe ser compleja).

Ej. 1 Operadores.

class Test{
   public static void main(String[] args){
       System.out.println(5 == 6); //false
       System.out.println(10 != 3); //true
       System.out.println(20 >= 19); //true
   }
}

Ej. 2 Operaciones booleanas.

class Test{
   public static void main(String[] args){
      int x= 20;
      if(x > 10 && x < 100){

James Gosling demanda a Oracle, pide le devuelvan el lenguaje Java


James Gosling ha demandado a Oracle para que le devuelvan el lenguaje de programación Java. Esto era de esperarse, ya que en los últimos meses no le ha gustado como el lenguaje ha ido evolucionando. Lenguajes dependientes de la Máquina Virtual Java (como Scala, Groovy, etc) también se verán afectados por esta demanda pues exige que Java es el único lenguaje de programación que él creó para esa implementación(sic).

En una entrevista para un diario inglés Gosling afirmo que: "no voy a permitir que sigan deteriorando el lenguaje, el lenguaje es puramente orientado a objetos no lo diseñé para implementar la programación funcional"

Todo parece que esta presionando a Oracle porque pretende vender el lenguaje a una empresa de Corea del Norte, puesto que los asiáticos desean modificarlo con fines militares y le ofrecen una gran suma multimillonaria.

Los abogados de Oracle le están ofreciendo una suma similar y un puesto vitalicio en la empresa, pero todo parece que Gosling no esta nada contento con ello.

Un ejemplo con NiconNotify OSD

Acaba de salir la nueva versión de la librería NiconNotify OSD , la cual provee clases para crear mensajes tipo "alert" de Java Swing.

Código

package org.javamexico.task;

import javax.swing.UIManager;
import javax.swing.plaf.nimbus.NimbusLookAndFeel;

import nicon.notify.core.Notification;

public class TestNiconNotify {

    public static void main(String[] args) {
        try{
            UIManager.setLookAndFeel(new NimbusLookAndFeel());
            int respuesta=Notification.windowConfirmMessage(null, "Confirmacion", "Desea borrar Windows de sus sistema?");
            if(respuesta==1){
                Notification.windowMessage(null, "Respuesta", "Claro, quiero eliminar Windows de mi sistema");
            }else{
                Notification.windowMessage(null, "Respuesta", "No, todavia no.");
            }
           
        }catch(Exception ex){
            System.err.println("error: "+ex.getCause());
        }

    }

}

Ejecutando código:

Ceylon 1.1.0 “Ultimate Ship The Second”

Ceylon 1.1.0 “Ultimate Ship The Second” listo para ser descargado.

"Listo"
shared void run(){
  print("Ceylon 1.1.0 Ultimate Ship The Second ");
}

Programando en Ceylon y PSeInt

Existe una herramienta para aprender a programar llamada PSeInt, en esta ocasión vamos a realizar ejemplos de programación básica y comparando esos códigos en Ceylon.

Ejemplos

1. Se requiere obtener la talla de una persona sabiendo que su peso es de 54.5 kg y su índice de masa corporal es de 22.1.
Fórmulas:
imc=peso/(talla*talla)
peso=(talla*talla)*imc
talla=sqrt(peso/imc)

Usando PSeInt escribimos:

Ahora en Ceylon:
obtenerTalla.ceylon

void run(){
variable Float peso=54.5;
variable Float talla=0.0;
variable Float imc=22.1;

function sqrt(Float x) => x^0.5; //para obtener la raíz

talla=sqrt(peso/imc);
print("talla: ``talla`` ");
}

Compilamos y ejecutamos:

ArnoldC ... un lenguaje de programación inspirado en Arnold Schwarzenegger

Se trata de un lenguaje de programación bastante curioso.

Este código esta en la página del proyecto.

hola.arnoldc

IT'S SHOWTIME
TALK TO THE HAND "¡Hola, mundo!"
YOU HAVE BEEN TERMINATED

Creamos el class y ejecutamos:

java -jar ArnoldC.jar hola.arnoldc
java hola


Links:

http://lhartikk.github.io/ArnoldC/
https://github.com/lhartikk/ArnoldC

Distribuir contenido