Participación en Jornada 11 Febrero

viernes, 2 de diciembre de 2011

Los lenguajes del cloud computing

En estos días no dejo de leer posts, reseñas de libros, twits, relacionados con el cambio de paradigma que se está produciendo en el campo de las tecnologías actuales, y más concretamente en el de las tecnologías relacionadas con la gestión de la información, en base al cual gran parte de los procesos que se llevaban antes a cabo en los CPDs localizados físicamente en las empresas, comienzan ahora a trasladarse a eso que comúnmente se ha venido a denominar “nube”. En un artículo anterior hablaba sobre la computación en la nube, y mientras lo escribía no paraba de rondarme en mi cabeza la pregunta de si los lenguajes de programación actuales estaban preparados para este vuelco en el paradigma actual de la computación. Conozco muchos lenguajes, desde el FORTRAN, el COBOL, el LISP o Basic con los que empecé a batirme en el campo del desarrollo del software, hasta los actuales Java, PHP, JavaScript, etc.

En estos casos, lo más fácil y recurrido es buscar directamente en la propia red qué se cuece en las factorías de diseño de lenguajes y qué pasos se están dando en el desarrollo de nuevos lenguajes. Y lo cierto es que se cuece mucho y tan revolucionario como el propio paradigma del cloud computing.

En mi búsqueda lo primero que encontré fue una reseña en Bosque viejo relativa al lenguaje de programación OPA. Se trata de un lenguaje cuyo pilar fundamental radica en que está pensado justamente para poder acomodarse a los nuevos contextos de la programación en la nube. Se puede decir que es un lenguaje exclusivamente orientado a la web, tanto como que el modelo de base de datos con el que trabaja es NoSQL, el mismo modelo que podemos encontrar en servicios como FaceBook o Digg.

La primera parada deberíamos hacerla en la página oficial del lenguaje, desde la que se puede descargar un binario específico para Ubuntu. En esa misma página se muestran varias aplicaciones de ejemplo, aunque no esperéis grandes desarrollos aún, ya que se trata de un lenguaje que se presentó en el pasado año 2010, y cuyo código fuente fue liberado bajo licencia GNU en este mismo año 2011.

OPA es un lenguaje respaldado a nivel de soporte por la empresa MLState, que proporciona asesoramiento y formación. Si te interesa ver cómo queda el famoso “HelloWorld” en OPA, sólo tienes que hacer clic aquí. Te recomiendo que te descargues aquí el paquete para Ubuntu, y si te parece interesante husmear por su código haz clic aquí.

Existen otros dos lenguajes que también se ofrecen como paladines de la programación en la nube, estoy hablando de Dart y de HaXe. El primero también está recién salido del horno de Google y aún no ha alcanzado la versión 1.0 que es la que suele dar la mayoría de edad.

En la página oficial de Dart podréis consultar diversos códigos de ejemplo así como probar su ejecución. Dart se puede ejecutar hasta la fecha bien mediante el Dart Editor (que posibilita compilar Dart a JavaScript) o bien mediante el Dart Board, un escritorio virtual en el que se puede escribir, modificar y ejecutar pequeños programas Dart. Te dejo aquí un pequeño ejemplo mío mostrando un típico saludo.

No hay mucho en español sobre Dart, pero la primera página (según dice ella misma) en tratar este lenguaje en nuestro idioma es Dart Experience, de entre sus posts (aún pocos) os recomiendo el que hace referencia a la instalación de la VM (Máquina Virtual) de Dart. Puedes seguir a Dart desde Twitter en @dart_lang. Dart está fuertemente influenciado por lenguajes orientados a objetos como Java y JavaScript.

HaXe es un poco más viejo, 2005, fue desarrollado por Nicolas Cannasse y puedes descargarlo desde aquí. Como Dart, es un lenguaje de programación Open Source, multiplataforma, que puede compilarse para generar código JavaScript, Flash, NekoVM, PHP o incluso C++. En este enlace tienes una interesante lista de proyectos que emplean este lenguaje.

¿Cómo evolucionarán estos lenguajes y en qué grado llegarán a instaurarse como pilares de la computación en la nube? Eso, como siempre, el tiempo lo dirá. Por ahora cada uno toma posiciones, y el pasado 28 de noviembre, Microsoft anunció que no apoyaría a Dart, por razones obvias claro.

Para finalizar, te dejo un enlace para que juegues un rato al Tetris con OPA: