¿Qué lenguaje de programación debería aprender a continuación?

Si eres un desarrollador experto o un principiante, siempre es una buena idea aprender un nuevo lenguaje de programación.

Por supuesto, no hay un solo idioma que todo profesional o aspirante a desarrollador deba aprender absolutamente. El próximo idioma que elija aprender dependerá de su nivel de habilidad actual y de sus aspiraciones profesionales generales.

No se preocupe: analizaré sus opciones en este artículo para ayudarlo a descubrir qué lenguaje de programación abordar a continuación. Recomendaré tres idiomas (uno para principiantes, uno para desarrolladores intermedios y otro para expertos), junto con varias alternativas que podría preferir, según sus preferencias.

Pero primero, analicemos las tendencias actuales para ver qué idiomas están ganando / cayendo en popularidad.

Tendencias en lenguajes de programación

El siguiente gráfico muestra los lenguajes de programación más demandados en 2018 en comparación con 2017.

A pesar de que Java tiene más de 20 años, sigue siendo el lenguaje de programación más popular, aunque ha disminuido en popularidad desde 2017. Java ha tenido una gran demanda durante mucho tiempo, probablemente porque puede ejecutarse en cualquier hardware o sistema operativo. . Por ejemplo, todas las aplicaciones de Android se basan en Java y la mayoría de las empresas de Fortune 500 lo utilizan para el desarrollo de back-end.

Python, ampliamente utilizado para el desarrollo web, está alcanzando rápidamente a Java en popularidad general. El lenguaje se usa ampliamente en computación científica, minería de datos y aprendizaje automático, que es de donde proviene el crecimiento de la demanda.

JavaScript sigue siendo muy popular, lo que no es de extrañar, ya que lo utilizan la mayoría de los desarrolladores y casi todos los sitios web con lógica dinámica. Además, los marcos de front-end como React y AngularJS se están empleando para la IoT y las integraciones de dispositivos móviles, por lo que es poco probable que veamos que JavaScript caiga de las listas en el corto plazo.

C ++ y C #, utilizados en el desarrollo de videojuegos y software de sistema / aplicación (C # se utiliza para la plataforma .NET de Microsoft), han bajado un poco en 2018, pero siguen siendo fuertes. PHP está creciendo en popularidad como una forma de agregar funciones web que HTML o CSS no pueden manejar, y también para su uso con bases de datos MySQL. Y, finalmente, Perl sigue siendo uno de los principales lenguajes por su popularidad entre los administradores de sistemas y redes como un "lenguaje adhesivo" para conectar diferentes componentes de software.

Una cosa a tener en cuenta sobre el cuadro anterior es que los principales idiomas son fundamentales. Estos idiomas (como se explica más adelante) son importantes para que los principiantes aprendan. Pero los expertos podrían estar más interesados ​​en aprender un idioma avanzado.

Lenguajes de programación básicos vs avanzados

Los lenguajes más solicitados a veces se denominan lenguajes de programación fundamentales. Se han utilizado desde los primeros días para sentar las bases de la informática y las redes modernas.

Sin embargo, también hay muchos, muchos lenguajes de nicho con comunidades de desarrolladores en crecimiento, como Haskell (utilizado para IA y aprendizaje automático), Scala (un reemplazo de Java), ML (un lenguaje funcional), Scheme (utilizado para IA y web- programación basada en), y cientos más.

Estos idiomas avanzados no son aptos para principiantes. Sin embargo, si planea convertirse en un experto en un campo en particular, como la inteligencia artificial y el aprendizaje automático, conocer un idioma como Haskell podría ser una habilidad invaluable.

Una vez que aprenda uno o más lenguajes fundamentales, podrá aprender casi cualquier lenguaje de programación nuevo o más avanzado. Recuerda que casi nunca es mala idea aprender un nuevo idioma, ya que te ayudará a aprender a pensar en los problemas de diferentes maneras.

Teniendo esto en cuenta, a continuación se muestran tres idiomas que los desarrolladores deben aprender en varios niveles (principiante, intermedio y avanzado), junto con algunas alternativas.

Un lenguaje de programación para principiantes

JavaScript es una buena opción para su primer lenguaje de programación. Como se mencionó anteriormente, JavaScript es casi omnipresente. Y se puede utilizar para desarrollar todo tipo de aplicaciones. Muchos sitios web que probablemente usa todos los días dependen de JavaScript, incluidos Gmail, Facebook, Twitter, Instagram y Spotify.

JavaScript se utiliza para el desarrollo front-end de aplicaciones web (utilizando marcos como AngularJS, Ember.js y React) y el desarrollo back-end (utilizando el marco Node.js). Aprender estos marcos lleva más tiempo que aprender JavaScript solo, pero ayudará a impulsar su empleabilidad (y salario).

Quizás lo mejor de todo es que JavaScript está integrado en su navegador, por lo que no tiene que instalar nada para comenzar a programar en él. Eso lo hace increíblemente accesible. Es muy probable que le resulte fácil aprender los conceptos básicos, pero no se preocupe porque hay muchos conceptos avanzados que lo mantendrán ocupado aprendiendo durante mucho tiempo.

Si eres un principiante y quieres convertirte en un desarrollador profesional, es una buena idea aprender JavaScript. Dicho esto, cualquiera de los lenguajes fundamentales también sería una buena opción. Idealmente, debería aprender más de un idioma fundamental a lo largo de su carrera.

Alternativas para principiantes

Python es relativamente fácil y divertido de aprender, con muy pocas reglas de sintaxis estrictas. De hecho, se lee como en inglés, por lo que incluso un principiante puro puede entender el código. Python se usó para crear Instagram, YouTube y Spotify, por lo que podría ser su boleto para un trabajo en una de las principales empresas.

Al igual que Python, Ruby también es fácil de aprender para los principiantes. No es necesario que memorice muchos comandos o reglas de sintaxis para usarlo. Las empresas emergentes utilizan cada vez más el marco de pila completo de Ruby llamado Ruby on Rails; se ha utilizado para crear sitios web como Airbnb, Groupon y muchos más.

El siguiente paso para programadores intermedios

Una vez que tenga algo de experiencia en programación en su haber, es una buena idea tomarse el tiempo para aprender C (junto con C # y quizás C ++).

C es más difícil de aprender que JavaScript, pero es una habilidad valiosa porque la mayoría de los lenguajes de programación se implementan en C. Esto se debe a que C es un lenguaje de "nivel de máquina". Por lo tanto, aprenderlo le enseñará cómo funciona una computadora y, de hecho, facilitará el aprendizaje de nuevos idiomas en el futuro.

Aprender a programar en C es como comprender la anatomía básica antes de convertirse en médico. Si desea convertirse en un desarrollador experto, debe comprender cómo funcionan juntos las computadoras y el software. Aprender C es una experiencia enriquecedora que tendrá el efecto secundario beneficioso de enseñarle a programar de manera más eficiente.

C # se usa ampliamente para el desarrollo empresarial en la plataforma .NET, pero también es el lenguaje principal de Unity 3D, un popular motor de juegos para juegos independientes y de realidad virtual. C ++ se usa generalmente para aplicaciones de escritorio de alto rendimiento (incluidos los juegos). También se ha utilizado para crear muchos sistemas grandes por empresas como Microsoft, Oracle y Adobe.

Alternativa para codificadores intermedios

Java es otra buena opción porque puede escribirse en cualquier dispositivo y usarse en todas las plataformas, lo que lo convierte en un lenguaje increíblemente versátil (recuerde, sigue siendo el lenguaje más solicitado en la actualidad).

Se usa comúnmente para crear aplicaciones, por lo que si su objetivo es desarrollar aplicaciones móviles, definitivamente aprenda Java.

Un nuevo desafío para desarrolladores expertos

Si domina los lenguajes de programación fundamentales como Javascript, C #, C ++, Java y Python, está listo para un nuevo desafío. En mi opinión, ese desafío debería ser Rust .

Según una encuesta de Stack Overflow, Rust fue calificado como el lenguaje de programación más querido por los desarrolladores en 2018 por tercer año consecutivo. Es un lenguaje relativamente nuevo, creado en 2010 por Mozilla y en constante mejora.

Rust es un lenguaje compilado comparable a C en términos de rendimiento y para qué se usa. Sin embargo, a diferencia de C, Rust es seguro para la memoria: punteros colgantes, desbordamientos de búfer u otros tipos de errores de memoria no se encontrarán en el código escrito en Rust. Es imposible cometer este tipo de error en Rust porque cualquier error se detecta durante la compilación, antes de que se permita la ejecución del código.

Esta característica hace que Rust sea difícil de aprender para los principiantes, pero los programadores experimentados apreciarán las mejoras de rendimiento inherentes. Ha ido creciendo de manera constante en popularidad desde que se creó y es muy probable que Rust tenga una gran demanda en los próximos años. Según Stack Overflow, fue la segunda habilidad de codificación que más paga en 2017 y se encuentra entre las 6 mejores para 2018.

Alternativa para expertos

Si ya es un programador Java experimentado, el siguiente lenguaje que debe aprender podría ser Scala (abreviatura de Scalable Language).

Scala es uno de los muchos intentos de mejorar Java y puede usarse como un reemplazo directo; de hecho, está compilado para ejecutarse en la máquina virtual Java. Es un lenguaje complejo de aprender, pero al final vale la pena: Scala fue clasificada como la tecnología mejor pagada en la encuesta de Stack Overflow de 2017 y 2018.

Al igual que Rust, Scala ha ido creciendo de manera constante en popularidad durante los últimos 5 años. Empresas importantes como LinkedIn y Twitter ya usan Scala en sus bases de código.

Conclusión

En última instancia, el lenguaje de programación que decida aprender a continuación debe reducirse a su nivel de habilidad actual y a sus intereses / aspiraciones profesionales.

Los principiantes deben comenzar con lenguajes fáciles de aprender como JavaScript, Python o Ruby para comenzar a crear aplicaciones.

Los programadores con más experiencia serían inteligentes para dominar un lenguaje fundamental y versátil como C o Java para obtener una mejor comprensión de cómo interactúan las computadoras y el software. Esto también le enseñará cómo codificar de manera más eficiente.

Y finalmente, los codificadores expertos pueden querer aprender lenguajes como Rust o Scala que mejoran los lenguajes fundamentales (como C y Java). Estos dos lenguajes avanzados ya son muy populares entre los desarrolladores experimentados y es probable que se vuelvan aún más importantes a medida que pasa el tiempo y las empresas deciden crear aplicaciones más nuevas y eficientes.

¿Busca una nueva forma de poner a prueba sus habilidades de programación?

Tener una idea objetiva de dónde se encuentra es clave para mejorar. Para una evaluación gratuita y justa de sus habilidades de programación, simplemente envíe su código . Las evaluaciones revisadas por pares de Indorse pueden ayudarlo a mejorar sus habilidades técnicas y llevarlo al siguiente nivel.

Python | C # | Java | PHP | JavaScript | Ruby