Lenguajes de programación del futuro (cercano)
El futuro de la innovación (casi) siempre está ligado al futuro de los lenguajes de programación y este futuro parece que será más automatizado y de código abierto.
En pocas palabras: programación mas rápida, con menos errores y con un mayor grado de automatización. El futuro del código requerirá de nuevos enfoques, buenas prácticas, estabilidad y estar vinculado de forma unívoca a las innovaciones.
Lo que es cierto, es que nada cambia tan rápido como lo hacen los lenguajes de programación que los nuevos desarrolladores necesitan y desean aprender.
Lo correcto debería ser actualizarte y mantenerte al día con las tendencias.
Seguramente has oído hablar de algunos de ellos, pero esta es una lista (en mi opinión) de algunos lenguajes de programación bastante prometedores.
Kotlin
Una década atrás, lo único que se conocía como Kotlin era una isla rusa; ahora este lenguaje de programación ha obtenido gran relevancia en parte por Google debido a que fue nombrado el lenguaje de desarrollo oficial para Android**.
Kotlin fue diseñado teniendo en cuenta la productividad del desarrollador.
Otra razón importante para decir que Kotlin tiene un futuro prometedor es que puedes crear aplicaciones Android con él. Otras características a tener en cuenta:
- Kotlin está alcanzando la madurez (9 años).
- Es un lenguaje fuertemente tipado (statistically-typed)
- 100% compatible con Java
- Puede compilarse en Javascript
- Puede ejecutarse en la Máquina Virtual de Java (JVM)
Fue creado por JetBrains (que son los creadores de IntelliJ, a la postre Android Studio) en 2010. Algunas compañías importantes (Pinterest, Basecamp, etc.) ya se han cambiado a Kotlin para sus aplicaciones Android. Debido al empuje de Android y Google detrás del lenguaje y el interés de los desarrolladores, significa que Kotlin tiene una base considerable que seguramente buscará expandirse en los próximos años. Personalmente, creo que tiene un futuro prometedor por estos motivos.
Python
[Python sigue subiendo como la espuma](https://insights.stackoverflow.com/survey/2018#technology). Es un lenguaje adoptado por desarrolladores de todo el mundo para múltiples usos. Principalmente, su nuevo rol en el machine learning y en el análisis de datos (data analytics) están consolidando su crecimiento. La enorme base de usuarios de Python y su profunda integración en una gran cantidad de negocios, para extremadamente improbable que se desvanezca pronto, un buen augurio para el futuro de este lenguaje.
Python se está volviendo extremadamente relevante para que todos los desarrolladores aprendan y crezcan, especialmente a medida que nos acercamos a la automatización de procesos, a la inteligencia artificial, el machine learning y el deep learning.
Javascript
Javascript sigue siendo el rey de la web. Con un crecimiento menor a los lenguajes ya vistos pero que tiene frameworks bastante poderosos como Angular, React o VueJS. Además gracias a las Progressive Web Apps creo que Javascript tendrá otro pequeño empujoncito fuera del mundo web.
Tecnologías como WebAssembly seguramente van a hacer que Javascript se utilice mucho menos en el futuro lejano.
En términos generales, Javascript es un lenguaje sólido y potente, además que definitivamente la comunidad no te dejará solo.
Además podríamos hablar de Node.js, Ionic, Svelte, GraphQL, Eletron, NattiveScript entre otras, que son excelentes ejemplos de como es que Javascript seguirá ganando adeptos en el futuro.
Rust
Rust es el lenguaje de programación más amados por los programadores. Yo diría que es un gran desconocido para muchos programadores.
Rust fue creado en 2010 en Mozilla como un proyecto personal de alguien llamado Graydon Hoare buscando crear un lenguaje que le permitiera escribir un código igual de rápido que C o C++ pero sin los problemas de memoria (sobretodo de gestión) que tienen estos. En pocas palabras, se busca que sea “seguro, concurrente y práctico”.
Lo más destacado de Rust es poder compilar a WebAssembly lo que le permite ejecutar aplicaciones web en casi cualquier navegador, con una velocidad increíble, razón de facto por la que creo que su futuro es prometedor.
Un gran ejemplo de su uso en producción es claramente Mozilla quien lo usa en el desarrollo de Firefox, pero también tenemos a Dropbox, tenemos a Yelp, tenemos a Firecracker, entre otros.
Rust es de código abierto, memory safe (no permite referencias nulas, condiciones de competencia o referencias colgantes) y tiene una sintaxis concreta y similar a C y C++.
En mi opinion, tiene un futuro prometedor gracias a que puede ser usado en muchos ámbitos con un gran rendimiento en todos ellos.
Swift
Swift no es solamente una limpieza sintáctica de lo que es Objetive C, debido a que tiene muchas características nuevas. También tengamos en cuenta que Apple le está dando una cantidad de soporte increíble.
Este lenguaje fue creado en respuesta oficial al desorden interminable de escribir código en Objetive C. Desde mi punto de vista, Swift se convertirá en la columna vertebral de la programación para dispositivos Apple en los próximos años, lo que significa macOS, iOS, watchOs, iPadOS y tvOS lo que impulsará el software en una enorme cantidad de dispositivos.
Bonus
WebAssembly
WebAssembly no es un lenguaje como tal (por eso lo pusimos aquí) pero es una pieza importante del rompecabezas. Wasm es un formato de instrucciones binario para una máquina virtual basado en un una pila de instrucciones. Está diseñado para ser el destino de compilación para lenguajes de alto nivel como C, C++, Rust, etc.
El Dr. Axel Rauschmayer nos dice estas tres razones por las que WebAssembly será exitoso:
- Este es un esfuerzo de colaboración. Por el momento están involucrados: Firefox, Chromium, Edge y Webkit.
- La interoperabilidad con la plataforma web desde Javascript será tan simple como importar un módulo.
- No se trata de reemplazar los motores de Javascript, se trata más bien de agregarles una nueva funcionalidad. Eso reduce la cantidad de trabajo para implementarlo y debería ayudar a obtener el soporte de la comunidad.
Algunos ejemplos de su uso productivo son: Unity, Ebay, etc.
Aquí les dejo un video que lo explicar de forma detallada:
Conclusiones
Eso es todo, desde mi perspectiva, esos son los lenguajes con más futuro cercano (2020). Podrías apostarle a aprender cualquiera de ellos sin miedo a equivocarte.
Saludos.