"El lado humano del software"

Ranking de lenguajes de programación

En la actualidad los programadores sufrimos de una explosión de los lenguajes de programación. Jamás en la historia habíamos tenido tanta cantidad de lenguajes distintos orientados a temas específicos y tantos sistemas y plataformas.

Es una auténtica locura. Tenemos aproximadamente 200. Muchos programadores ya no sabemos ni por donde tirar. Suele ser un tema recurrente intentar saber el futuro. Acertar es conveniente porque de lo contrario corremos el riesgo de quedarnos estancados.

Lejos de respuestas mágicas, el lenguaje más conveniente suele ser el más extendido para la plataforma en la que debemos desarrollar. Al menos eso a corto plazo.

Por otro lado, lo mejor es dominar un mínimo de dos lenguajes distintos de índole diferente. Diversifica el riesgo y permite una mejor cultura y conocimientos básicos de programación.

El futuro siempre es incierto. Cuando algo parece que va por un camino, luego cambian las previsiones dado que las compañías luchan en una feroz competencia.

La elección de los lenguajes debe mirarse por tanto desde varias perspectivas: diversidad, posibilidades de trabajo y si este se encuentra en el área que deseamos.

 

Previsiones futuras.

Suelo leer fuentes de todo tipo de fuentes. Estas son mis previsiones a largo plazo (ojo que esto es sólo un poco más que hacer las cartas de tarot):

JAVA.

Este lenguaje TOP nº 1 en el mundo sólo hace caer y caer. Además, es muy repudiado por una gran comunidad de programadores (también los hay que lo aman, pero los menos). Su uso es muy extendido en el software de parche tras parche y en los trabajos poco deseables de programación, al menos en España.

Lo único que lo podría potenciar en el futuro es que hay otros lenguajes que compilan a la máquina virtual de JAVA, pero esto realmente no potencia a JAVA sólo a su máquina virtual. En el fondo aun le restan más cuota.

En mi conclusión, JAVA no es un lenguaje idóneo para estudiar. Excepto para un presente inmediato. OJO, que esto no quita que siga siendo el top, pero ¿Por cuánto tiempo? Le queda en el top de la primera posición 3 ó 4 años antes de ser rebasado. Luego en 10 años seguramente esté en el top 10 por los pelos. El problema será una cantidad enorme de programadores JAVA sobrante de épocas pasadas, demasiada competencia.

¿Yo le dedicaría tiempo? No, sólo si es imprescindible por motivos de causa mayor.

 

C

Una vieja gloria pasada. Es un lenguaje rápido y el padre de los lenguajes. El problema es que las multinacionales no lo están patrocinando, su uso es de rebote de compiladores de C++ con lo cual le espera una lenta agonía.

¿Yo le dedicaría tiempo? Depende por causas académicas si (es el latín de los programadores), o si vas a C++, sin estos motivos, sólo si es imprescindible por motivos de causa mayor.

 

C++

Este lenguaje seguirá viviendo pese a su complejidad. Siempre es una buena opción.

C++ es C++ y punto.

¿Yo le dedicaría tiempo? Depende de la personalidad del programador. Este lenguaje no es apto para todo tipo de programadores, es más para personas puristas, minuciosas y que no buscan resultados rápidos. Las personas creativas y muy dinámicas no sienten que sea su lenguaje. C++ son para proyectos de largo plazo. Proyectos puros. Por tanto, una opinión positiva pero no en exceso.

 

C#

Yo he programado mucho en este lenguaje. Tiene un problema. Microsoft ha llegado muy tarde a su evolución de .NET (con unas librerías pesadísimas) a .NET Core mucho más ligero y multiplataforma conforme a los nuevos tiempos. El gran problema es que .NET Core es incompatible hacia atrás. La disrupción supone un auténtico dolor a los programadores y a todo tipo de empresas de toda índole. ¿Motores de Juego como Unitiy? Tendrán que saltar de una versión desfasada de C# (ni siquiera usa la última) a Core. Ya no digamos productos a medida de tipo empresarial. En ningún caso estoy diciendo que el lenguaje muera, C# es estupendo, pero no creo ni que suba ni baje en la lista. Si Microsoft hubiera reaccionado mucho antes C# hubiera alcanzado la gloria, pero ya no.

¿Yo le dedicaría tiempo? Sí, al menos si el programador no sabe C++ o Java. Si es conocedor de los otros no es tan importante.  Por tanto, otra opinión positiva pero no en exceso.

 

Visual Basic.NET

Para mí es increíble que en estos tiempos aún se encuentre tan bien situado, imagino porque su uso no requiere un entendimiento profundo de la programación orientada a objetos como en otros lenguajes. Creo que poco a poco irá “agonizando” (en cualquier caso, mientras se encuentre entre los 20 primeros de agonía nada). ¿Yo le dedicaría tiempo? En el pasado era imprescindible (yo he programado en BASIC), ya no. No lo veo como lenguaje para aprender de futuro. Es un lenguaje que se encuentra en tierra de nadie, pues es profesional pero no muy profesional. Quizás por eso mismo sobrevive, porque les sirve a un determinado tipo de programadores descafeinados. Por tanto, mi opinión es moderadamente negativa.

 

JavaScript

Rey de los reyes en la web pues no hay otra cosa para la misma, se va ir viendo reemplazado poco a poco por webassembly. Dicen oficialmente que webassembly no es “un mata JavaScript”, pero tiempo al tiempo, sólo es cuestión de que otros lenguajes compilen directamente a web con recolección de basura.

¿Yo le dedicaría tiempo? Faltan años (muchos) para que webassembly mate a JavaScript. En cualquier caso, la web hoy día es JavaScript. Por otro lado, debemos recordar la gran evolución que supone TypeScript que está marcando el futuro de JavaScript. En conclusión, si haces web imprescindible y sus conocimientos siempre vendrán bien.

JavaScript contrariamente a lo que la gente se cree es mucho más difícil de lo que aparenta por muchos motivos: inconsistencias de la lengua, diversidad de navegadores, sistemas en los que se encuentra implementado, miles de librerías de todo tipo, etc. Yo personalmente odio y amo a la vez este lenguaje y su ecosistema. He programado mucho con JavaScript/TypeScript. Tiene cosas que me encantan y otras que repelo. Para la web es lo que hay, por tanto, es indiferente si se tiene una opinión positiva o negativa. Le daré un voto moderadamente positivo.

 

Python

Es excelente, pero lo siento, lo veo para profesionales light o descafeinados, su rendimiento tan pobre me mata. Otro problema: por su naturaleza es extremadamente difícil de que compile a webassembly (el futuro web). Por tanto, no creo que suba más en la lista del top del ranking, es más con el tiempo bajará un poco. Python acabará matando al BASIC aunque ciertamente son ecosistemas diferentes.

¿Yo le dedicaría tiempo? Sí, si quieres un lenguaje rápido de programar, pero lento de ejecutar o si esto te es indiferente. Tiene problemas futuros de adaptación a las nuevas tecnologías. Lo siento, lo veo como un lenguaje secundario para un profesional. En cualquier caso, no es muy difícil y está bien aprenderlo.

 

Delphi Object pascal.

Puedo opinar poco porque nunca he programado para este lenguaje. Yo creo que con el tiempo perderá un poco su posición.

 

F#

Magnífico lenguaje, me encanta. Creo que conceptualmente es mi preferido. Lástima que conceptualmente. Con esto no le estoy criticando, pero vive del ecosistema C# y siempre será su dependiente (lo sé, los puristas de F# me criticarán por decir eso porque no es correcto del todo). No es lento, tampoco el más rápido.

¿Yo le dedicaría tiempo? Depende de la personalidad del programador. No le veo tanta salida como a otros lenguajes, aunque los que trabajan en el mismo no lo ganan mal. Mi opinión es que a nivel teórico es excelente, pero en la práctica (no por culpa del propio lenguaje) no tanto. Yo lo he dejado de estudiar.

 

Rust

Magnifico lenguaje, muy moderno. Es otro que a nivel conceptual me encanta. Pero es muy complicado de aprender. Y es incipiente. Rust es competencia pura de C++.

¿Yo le dedicaría tiempo? Sólo si vas en el camino de C++ y sabes C++ y quieres aprender algo fresco. Yo he tonteado con este lenguaje, pero lo he dejado, lo veo ahora mismo poco práctico. Sin duda un lenguaje para estar pendiente en el futuro.

 

PHP

Super usado en WordPress, y en tantas webs… que lo hacen un líder. Conceptualmente hablado no me gusta nada y no es un lenguaje de programación consistente y de calidad lógica.

¿Yo le dedicaría tiempo? Sólo si tienes que programar en uno de tantos sistemas que lo usan, en caso contrario no, nunca.

 

Swift

No lo conozco, no opino. Pero si programas para Apple imprescindible.

 

Go (Golang)

Este lenguaje es rápido, relativamente fácil de aprender (no tanto como presumen). Soporta multihilo de manera nativa, crea unos compilados ligeros. La web oficial parece de juguete, pero el lenguaje es realmente de calidad. Este lenguaje es competencia de C pero se siente parecido a Python. Le veo un futuro excelente. Con el tiempo estará entre los 3 primeros del top mundial. No para de subir y subir. Es ahora mismo donde me estoy centrando.

¿Yo le dedicaría tiempo? Absolutamente sí, es un aire fresco. Es cierto que aún necesita de algunas mejoras que saldrán en la 2.0

Go debe estar ya en la lista de todo programador. Altamente recomendable, opinión muy positiva. Es mi recomendado ahora mismo. Ya veremos en el futuro.

 

En resumen, recomendaría…

Uno de estos del grupo de estos 3: C++, C# o JAVA.

Si tocas web, no hay otro que JavaScript pero empleando TypeScript de Visual Studio.

Un lenguaje simple pero eficaz. Python

El más práctico y que le veo más futuro de todos: Go (Golang). Pero esto a medio largo plazo.

Deja un comentario

Compartir
Twittear
Compartir
+1
Pin