Si es un desarrollador que busca aumentar su experiencia y atractivo profesional, entonces sabrá que aprender un nuevo idioma es siempre una buena estrategia. Pero la gran pregunta es: ¿Qué idioma debe aprender?
Una mirada rápida a cualquier sitio de contratación de desarrolladores le dirá qué lenguaje de programación es el más requerido. Eche un vistazo ahora mismo y verá muchas vacantes para los programadores con conocimientos en lenguajes de programación como Java, C, C ++, C # y Objective C, lenguajes de script, incluyendo Python, PHP, Ruby y JavaScript, y la programación de bases de datos en SQL.
Si desea estar por delante del resto, y ser capaz de elegir los puestos de trabajo en el futuro, entonces puede ser que valga la pena mirar más allá de Java, Python y otros idiomas.
¿Qué pasa con la obtención de habilidades y experiencia en nuevos lenguajes que aún no tienen demanda, pero bien podrían tenerla pronto? Es una estrategia de carrera que funcionó para los programadores que vieron el potencial de Java cuando se introdujo en la década de 1990. Los que la aprendieron de forma temprana pudieron ingresar a cualquier trabajo de programación en Java unos años más tarde -y exigir los salarios más altos también.
El problema es elegir el idioma correcto para aprender, ya que están apareciendo muchos para escoger. “Casi todos los nuevos idiomas son procedentes de proyectos de código abierto”, anota Mark Driver, director de investigación en Gartner. “Eso significa que no hay barreras para entrar, ya que miles de nuevos idiomas están llegando a la escena. La mayoría desaparece rápidamente, y solo unos pocos permanecen”.
Driver dice que cree que la razón para esto es que, para la mayoría de las organizaciones, los “operadores tradicionales”, como Java, C ++ y C # están demasiado arraigados como para ser reemplazados”, y hay muy pocas empresas que quieran ampliar los idiomas que utilizan demasiado”.
Pero las señales indican que algunos nuevos idiomas se están poniendo de moda. Aquí le mostramos seis de los más prometedores, sin ningún orden en particular:
Dart es un lenguaje de código abierto desarrollado por Google como reemplazo de JavaScript. Al igual que otros lenguajes de reemplazo de JavaScript como CoffeeScript, no es difícil de aprender para los desarrolladores de JavaScript. Es importante porque ha sido diseñado para que facilite construir aplicaciones Web a gran escala de múltiples desarrolladores -algo para lo que JavaScript no es realmente adecuado.
En este momento, las aplicaciones se pueden ejecutar en la VM de Dart incorporada a Chrome, o en otros navegadores a través de compilación cruzada para JavaScript.
¿Por qué aprender Dart? El respaldo de Google asegura que Dart tenga una buena oportunidad de éxito.
Opa: Aplicaciones Web sencillas y seguras
Opa está diseñado para hacer que el desarrollo de aplicaciones Web sea más sencillo y más seguro. ¿Cómo? En lugar de crear componentes del lado del navegador, del lado del servidor y de la base de datos back-end en diferentes idiomas (quizás JavaScript, PHP y MySQL) y conectarlos entre sí, se escribe toda la aplicación en Opa. El compilador crea entonces el código del cliente y del servidor para luego construir la infraestructura de comunicaciones entre ellos. Ingenioso.
Aunque Opa aún no ha sido adoptada por las empresas de manera significativa, en este momento hay una gran cantidad de discusiones sobre el lenguaje en Internet, señala Driver.
¿Por qué aprender Opa? Las aplicaciones web se van a volver más complejas y hay un valor único en hacer que la distribución de servidor del lado del cliente y del lado del código, sucedan automáticamente.
Scala: Idioma escalable y no solo de nombre
Scala es la abreviatura de “lenguaje escalable”, y está diseñado para ser exactamente eso: Scala puede ser utilizado para programas pequeños o aplicaciones a muy gran escala. No es particularmente nuevo, ya que se introdujo en el año 2003, pero el interés en él va en aumento. Una de las razones clave para esto es que se puede optimizar el código para trabajar con la concurrencia. Otro es simplemente que a muchos desarrolladores les gusta usarlo.
Una ventaja clave para las empresas que consideran Scala es que interactúa con Java. Se ejecuta en JVM (y Android), mientras que los entornos de desarrollo integrados (IDE), como Eclipse, IntelliJ o NetBeans, y los marcos como Spring o Hibernate, trabajan con él. “La capacidad de adoptarlo por sobre las JVMs existentes es realmente importante”, señala Jeffrey Hammond, analista principal de Forrester.
¿Por qué aprender Scala? Apela a las empresas que ya han invertido en Java y no quieren tener que soportar nada nuevo en sus entornos de producción.
Erlang: con la concurrencia viene la disponibilidad
Erlang es otro lenguaje que está ganando impulso debido a la concurrencia. Originalmente desarrollado en 1986, Erlang era de código abierto en 1998, está diseñado para la construcción a gran escala de aplicaciones de alta disponibilidad. El sistema de ejecución de Erlang admite el intercambio en caliente, por lo que el código puede modificarse o actualizarse sin tener que parar un sistema en funcionamiento.
Las características a nivel de lenguajes se proporcionan para la creación y administración de los procesos con el fin de simplificar la programación concurrente. Mientras tanto, los procesos se comunican mediante paso de mensajes, eliminando la necesidad de bloqueos explícitos.
¿Por qué aprender Erlang? Tanto Driver de Gartner como Hammond de Forrester sugieren que Erlang probablemente proliferará en los próximos meses y años.
Ceylon: Java Killer modular
Basado en Java, Ceilán ha sido diseñado como un Java Killer. Desarrollado como un lenguaje para escribir programas grandes en equipos de Red Hat, su primera versión estable se puso a disposición a finales del 2013.
La modularidad es una característica clave. El código está organizado en paquetes y módulos, a continuación, compila archivos al módulo. La herramienta es compatible con un sistema de repositorios de módulos, cada módulo publicado en un repositorio central es llamado ‘rebaño Ceylon’.
Ya que Ceylon está basado en programación Java y viene con un IDE basado en Eclipse y herramientas de línea de comandos (con soporte modular incorporado), Ceylon no debería ser demasiado difícil de ejecutar si usted ya es experto en programación Java.
¿Por qué aprender Ceylon? Los programas de Ceylon, compilados y ejecutados en las máquinas virtuales Java y JavaScript -para los sistemas cliente y servidor, son similares a Opa- y pueden interoperar fácilmente con código nativo.
Go: Idioma para la nube
Go, otro lenguaje de código abierto de Google, que apareció por primera vez en el 2009. También conocido como Golang, Go es un lenguaje tradicional como C, pero está escrito expresamente para la nube, con la concurrencia y otras características incorporadas como la recolección de basura. Las aplicaciones más grandes de Go se pueden compilar en pocos segundos y en una sola computadora.
Los proyectos escritos en Go incluyen Docker y Force.com. “Estamos escuchando mucho acerca de Go en la actualidad”, señala Driver. “Hay una gran cantidad de experimentación alrededor de este lenguaje -pero tiene una curva de aprendizaje empinada”.
¿Por qué aprender Go? La combinación de idoneidad para la nube, respaldo de Google y el alto nivel de interés en Go en el momento sugieren que el lenguaje probablemente despegará.
Paul Rubens, CIO (EE.UU.)