Diez lenguajes experimentales que podrían impactar en un futuro

Diez lenguajes experimentales que podrían impactar en un futuro
Facebook Twitter Flipboard E-mail

En la actualidad disponemos de gran variedad de lenguajes. Un programador medio difícilmente puede llegar a aprender el 5% de los estos lenguajes. Cada lenguaje tienen una finalidad, unas ventajas y unos inconvenientes. También tienen una época en la que surgen para cubrir una necesidad inexistente y pasan a estar deprecated cuando un lenguaje más avanzado puede reemplazarlo.

He escuchado alguna vez comentarios afirmando que en la programación estaba ya todo inventado. Por supuesto está inventado todo lo que uno utiliza y se puede llegar a pensar que no es necesario más. Pero creo que esto no ha hecho nada más que empezar. Muchos lenguajes cubren gran parte de las necesidades que existen actualmente. Sin embargo, siempre surgen iniciativas para crear o modificar la perspectiva de nuestros desarrollos evolucionando a otros lenguajes.

Vía Infoworld he encontrado un interesante artículo acerca de 10 lenguajes experimentales que en la actualidad no son conocidos y puede que en un futuro tengan un gran impacto asentándose en nuestras vidas. Aunque estudiarlos detalladamente es costoso, pues siempre existe alta probabilidad de que los paradigmas cambien, es interesante conocer al menos porqué y para qué se han creado. Una lista para los más intrépidos y vanguardistas.

Dart

Lenguaje de reciente aparición desarrollado por Google diseñado para mejorar la capa web cliente. El objetivo no es sustituir JavaScript ya que en ocasiones puede venir bien para aplicaciones web sencillas. Sin embargo, si pretende convertirse en un referente para aplicaciones web donde en el cliente existe gran carga de líneas de código.

Su sintaxis es similar a C y permite definir clases e interfaces como en C++ o Java. De momento, se encuentra en una fase alfa donde aún no se pueden realizar desarrollos serios. Sin embargo, ha sido muy acogida la noticia al respecto por parte de la comunidad.

Ceylon

Pretende ser la evolución de Java. Gavin King, desarrollador en Red Hat con este lenguaje, niega que se pretenda matar a Java. Sin embargo, afirma que hay mucho que mejorar. Java tiene una sintaxis excesivamente detallada, faltan funciones fundamentales y hay poco apoyo a la meta-programación.

Por otra parte Gavin se siente frustrado por el abuso en la actualidad de la programación declarativa en el que toda la aplicación se encadena mediante XML y dejando de lado la programación imperativa. Sin embargo, no pretenden reinventar la rueda. Ceylon compila a bytecodes de Java. Pero si pretenden reemplazar el SDK en el que según Gavin afirma: “Está hinchado y es torpe”.

Go

Go es un lenguaje iniciado en el 2009. Este es otro lenguaje experimental de Google de proposito general en el que se busca facilitar la sintaxis al puro estilo C, pero con características modernas como la recolección de basura, reflexión en tiempo de ejecución y apoyo a la concurrencia. Go sigue siendo un trabajo en proceso en el que la especificación del lenguaje podría cambiar.

F#

F# es un lenguaje diseñado por Microsoft que pretende aportar mejoras a aquellos desarrolladores que les gusta la programación funcional. Una de las quejas que existen en la actualidad es que utilizando lenguajes de programación funcional tipo Haskell o Lisp no es posible utilizar bibliotecas o características de otros lenguajes CLR (C# y Visual Basic). Ahora con F# ya no es un problema ya que se está incluido en Visual Studio 2010 permitiendo esta compatibilidad y utilizar programación funcional.

Opa

Este lenguaje pretende aplicar un nuevo paradigma al desarrollo web. Para realizar una aplicación web es necesario el conocimiento de lenguajes en el cliente (HTML y JavaScript) y en el servidor (PHP o Java). Del mismo modo, SQL también lleva su propio lenguaje. Opa pretende eliminar toda estas dependencias o conocimientos requeridos en diversos lenguajes y centrarse en un único lenguaje llamado precisamente Opa.

Opa decidirá si una rutina debe ejecutarse en el cliente, en el servidor o en ambos así como determinar por donde se realizará la salida realizando la transmisión de datos mediante Ajax en el caso de ser en el cliente. Este sistema requiere algo de Back-End ya que se dispone de su propio servidor web y gestión de datos y no puede ser reemplazado con alternativas Stand-Alone.

Fantom

Fanton ha sido diseñado para desarrollar aplicaciones portables entre plataformas. La compilación permite crear ficheros bytecodes tanto para la JVM como para la CLI.Net. También permite el acceso al conjunto de APIs disponibles de Java y. Net creando una capa adicional.

Existen planes de extender la portabilidad a más plataformas. Por ejemplo, ya hay disponible un compilador Fantom-a-JavaScript. Las expectativas son que permita en un futuro exportar a Parrot VM y Objective-C.

Zimbu

Lenguaje creado por Bram Moolenaar, creador del editor de texto Vim. Zimbu pretende que el lenguaje que se escriba sea sencillo, conciso, fácil de leer y rápido de escribir y que no sean necesarias tantas herramientas gráficas. La programación cuanto más breve, mejor.

Es un lenguaje compilado en el que los binarios se construirán en un compilador C nativo. Por otra parte, es muy rico en funciones aunque no están desarrolladas todas las especificadas ya que, en la actualidad, este proyecto se encuentra en una fase Alfa.

X10

Unas de las cualidades que muchos lenguajes no cubren en la actualidad es la ejecución concurrente de procesos para el caso de tener múltiples núcleos. X10 intenta abordar esta necesidad. El código se divide en unidades que son ejecutadas por núcleos o procesadores diferentes permitiendo de esta manera escalar en rendimiento añadiendo más núcleos.

La sintaxis de X10 es parecida a Java y permite crear ficheros fuente C++ y Java. Es un lenguaje bastante maduro aunque siguen realizándose modificaciones. Para facilitar el desarrollo de aplicaciones existe un IDE basado en Eclipse y un depurador.

haXe

hAxe pretende ser un lenguaje multiplataforma que permita desarrollar para diferentes entornos tanto de manera nativa como utilizando máquinas virtuales. A partir de código fuente haXe es posible compilarlos devolviendo OBJs, JavaScript, PHP, Flash/ActionScript, bytecode NekoVM, C# o Java. Dispone de una biblioteca estándar que funciona en todos los anteriores tipos de compilación.

La sintaxis es similar a C y, aunque se encuentra en desarrollo, haXe es utilizado comercialmente por su creador. Lo que se comúnmente se conoce como “comer tu propia comida de perros” para demostrar su valor.

Chapel

Chapel pretende ser una ambiciosa iniciativa financiada por EE.UU. a través de la sociedad DARPA (Agencia de Investigación de Proyectos Avanzados de Defensa). Chapel tiene como objetivo crear un lenguaje de alto rendimiento y la ejecución de algoritmos en paralelo para la supercomputación.

La sintaxis tiene influencias de C, C++ y Java y toma conceptos de programación científica como Fortran y Matlab. La influencia del procesamiento en paralelo viene dado por ZPL y Fortran. En la actualidad se utiliza en supercomputadores y se dispone de una versión portatil para sistemas tipo Unix con licencia BSD.

Conclusión

Hasta aquí los diez lenguajes experimentales que pueden ser muy interesantes. En mi opinión me llaman la atención Dart por su acogida en la comunidad sin estar acabado, Ceylon por su retorno a la programación imperativa y no pretender abusar de la programación XML y haXe por tener la intención de unificar todas las diferentes librerías en el que cada lenguaje utiliza nombres diferentes para lo mismo, en una única librería estándar.

Vía | Infoworld

Comentarios cerrados
Inicio