paint-brush
Señores, ¡elijan sus armas! Lenguajes de programación que deberían (¿no?) aprenderpor@shcherbanich
244 lecturas

Señores, ¡elijan sus armas! Lenguajes de programación que deberían (¿no?) aprender

por Filipp Shcherbanich7m2024/09/03
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

En el cambiante mundo de la programación, los desarrolladores deben decidir si adoptan nuevos lenguajes o se quedan con los que ya están probados. El artículo analiza los pros y los contras de ambos enfoques, haciendo hincapié en la importancia de la aplicación práctica y de los objetivos profesionales a la hora de tomar esta decisión.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Señores, ¡elijan sus armas! Lenguajes de programación que deberían (¿no?) aprender
Filipp Shcherbanich HackerNoon profile picture
0-item
1-item

Como dice el viejo refrán, pocas cosas en la vida son peores que llevar un cuchillo a un tiroteo. Como desarrollador experimentado, puedo decirte que esto también es 100% cierto en el mundo de la programación. Tienes que mantenerte relevante en una industria que está cambiando más rápido que yo escribiendo este artículo. Además, tienes tantas tareas diferentes que hacer. Entonces, después de años de sobrevivir en este entorno, siempre tengo mis juguetes favoritos cerca y cargados. Para un trabajo silencioso y preciso, está mi confiable C++ . Si quiero hacer un gran impacto de datos, elijo R, algo extravagante, pero convincentemente poderoso. Pero si las cosas se complican mucho, saco mi JavaScript de la pared: me mantuvo vivo en el pasado y todavía puede soportar más abuso. Ningún lenguaje es bueno o malo para todos. Depende de ti y del trabajo que tengas que hacer. Entonces, analicemos si siempre debes mantenerte al día con la moda o ceñirte a lo bueno de siempre. Esta pregunta es un poco más complicada de lo que parece...

¿Cada día es un nuevo comienzo?

Dada la naturaleza innovadora de la tecnología, discutir si es necesario aprender otro idioma puede parecer una tontería. De hecho, si el mundo se detuviera, todavía estaríamos usando tablillas de arcilla y ábacos. Afortunadamente, el deseo de innovar conduce a avances continuos, lo que requiere una constante actualización de las habilidades. Por ejemplo, en la década de 1960, comunicarse con las computadoras implicaba perforar agujeros en papel e introducirlo en una máquina. Hoy, las computadoras caben en nuestros bolsillos y los únicos agujeros que encontramos son en nuestros presupuestos después de comprarlas. Imaginemos al desarrollador más avanzado de la década de 1960 tratando de mantenerse relevante sin desarrollar sus habilidades.


Los lenguajes de programación evolucionan más rápido que sus creadores. Surgen a un ritmo sorprendente nuevos requisitos, ideas y herramientas que cambian radicalmente los enfoques y prácticas tradicionales. Los especialistas que ignoran este hecho se vuelven tan obsoletos como los lenguajes a los que se aferran. Un claro ejemplo es COBOL, que, a pesar de ser popular en los años 60 para aplicaciones empresariales, se ha vuelto casi obsoleto con los avances tecnológicos.


Otra razón para aprender un nuevo lenguaje de programación son las perspectivas laborales. Algunos especialistas, conscientes de que un mayor conocimiento de las últimas tecnologías aumenta sus posibilidades de conseguir empleos bien remunerados, estudian con entusiasmo nuevos lenguajes. Este esfuerzo está justificado: conocer nuevas tecnologías sin duda amplía las oportunidades laborales. A veces, las nuevas tecnologías son necesarias aunque el lenguaje en sí siga siendo relevante, pero la empresa cambia su conjunto de tecnologías. En esos casos, los empleados deben adaptarse o buscar nuevos empleos. Por lo general, optan por aprender la nueva tecnología.


Aprender nuevos lenguajes es beneficioso no solo por razones prácticas, sino también por creatividad. Puede ofrecer nuevos enfoques para tareas conocidas, ampliando perspectivas y potencial. Por ejemplo, Symfony, un popular framework PHP, se inspiró en el framework Spring basado en Java. Muchos desarrolladores de bibliotecas de código abierto han tomado ideas de bibliotecas implementadas en otros lenguajes, y usted podría ser el próximo innovador.

…¿O es oro viejo y verdadero?

Pero, por el bien de la verdad, veamos desde otro punto de vista todo lo que hemos comentado en el capítulo anterior. ¿Sabe cuándo se utilizaron por última vez las tarjetas perforadas? Adivine... Y, a menos que haya hecho trampa buscando la respuesta en Google ahora mismo, su suposición probablemente sea incorrecta. La respuesta correcta es 2014. Ese año, las últimas tarjetas perforadas fueron utilizados por las máquinas de votación en el estado de Idaho durante las elecciones generales en los EE. UU. O tomemos COBOL, el lenguaje que descartamos como obsoleto hace solo unos párrafos. Bueno, a partir de 2017, según Reuters El 43% de todos los sistemas bancarios se basaban en COBOL; el 80% de las transacciones en persona empleaban COBOL y había 220 mil millones de líneas de código escritas en COBOL que todavía estaban en uso. Por lo tanto, en realidad existe una línea (no tan fina) entre la irrelevancia de un lenguaje para los sistemas modernos y su obsolescencia en general.


¿Cuáles son las probabilidades de que un lenguaje de programación que conoces o que vas a aprender se vuelva obsoleto e inútil en un futuro cercano? No hay una respuesta real para eso, solo conjeturas. Algunos autores estiman que el ciclo de vida promedio de un lenguaje de programación se encuentra en cualquier punto entre 14 y 18,5 años . Otros decir Se acerca a los 25 años para los lenguajes dominantes y a los 5 o 6 para herramientas más específicas y exóticas. Pero también hay Un punto de vista más Vale la pena mencionarlo porque parece bastante comprobado por la historia. Se basa en el efecto Lindy, mejor descrito por Nassim Nicholas Taleb en su libro 'Antifrágil: cosas que se benefician del desorden' : “Si un libro lleva cuarenta años en circulación, puedo esperar que siga en circulación otros cuarenta años. Pero, y esa es la principal diferencia, si sobrevive otra década, se espera que siga en circulación otros cincuenta años. Esto, sencillamente, como norma, nos dice por qué las cosas que llevan mucho tiempo en circulación no “envejecen” como las personas, sino que “envejecen” a la inversa. Cada año que pasa sin que se extinga duplica la esperanza de vida adicional. Esto es un indicador de cierta robustez. ¡La robustez de un objeto es proporcional a su vida!”


En otras palabras, las lenguas que llevan bastante tiempo entre nosotros probablemente seguirán entre nosotros durante algunas décadas más. Por el contrario, existe la posibilidad de que las nuevas y sofisticadas lenguas se vuelvan obsoletas muy pronto, pero eso está por verse. Cada año que una lengua permanece en servicio activo aumenta sus posibilidades de sobrevivir más tiempo.

Piensa en carreras profesionales más que en idiomas

Entonces, ¿qué deberíamos hacer? ¿Aprender un lenguaje? ¿Uno nuevo o uno antiguo? Bueno, aprender en sí mismo siempre es bueno. Las investigaciones muestran que casi la mitad de todos los desarrolladores consideran aprender un nuevo lenguaje. Según JetBrains, El estado del ecosistema de desarrolladores en 2023 Según la encuesta, más del 40% de los encuestados expresaron este deseo. Los desarrolladores que trabajan con JavaScript (49%), PHP y Python (45%) y C++ (44%) son los que muestran mayor interés en aprender algo nuevo. La elección del lenguaje que desea aprender en realidad depende de su trayectoria profesional. Si está pensando en un trabajo estable que pueda durar bastante tiempo (pero no para siempre), puede optar por algo antiguo y probado. Estas oportunidades pueden surgir en la ciencia, la fabricación y los bancos tradicionales, es decir, instituciones con maquinaria costosa de larga duración y/o infraestructura que depende en gran medida del código heredado.


Por ejemplo, la mayoría de los programadores COBOL eran entre 45 y 55 años en 2017. Si a eso le sumamos los siete años transcurridos desde que se publicó la investigación, veremos que muchos desarrolladores de COBOL están entrando en la edad de jubilación. Si COBOL dura tanto como se espera, esta puede ser su oportunidad de convertirse en un especialista poco común y de gran valor. Pero tenga en cuenta que una elección de este tipo requeriría conocimientos muy profundos y una habilidad inmaculada. Además, si algo sale mal, sus futuras opciones laborales pueden ser muy limitadas a menos que decida cambiar su perfil.


Si prefieres la vibrante vida de las startups o el poder de los gigantes tecnológicos, deberías elegir algo más moderno y prometedor. Ver lo que hacen otros puede darte una pista: por ejemplo, consulta las clasificaciones actualizadas de lenguajes de programación de Monje rojo o TIOBE No los tome demasiado en serio, ya que cualquier clasificación imaginable se basa en cierto grado de simplificación, pero aún así pueden brindarle una visión general de lo que está sucediendo. Además, la encuesta mencionada de JetBrains revela ¿Qué idiomas? Se aprenden con más frecuencia. De esta manera, te aseguras de aprender un idioma con futuro.

Sea siempre práctico

Los conocimientos adquiridos sin una aplicación práctica se vuelven rápidamente obsoletos. Por lo tanto, aprender un nuevo idioma solo por cumplir con un requisito no tiene sentido. En lugar de eso, piense en cómo puede usarlo en su trabajo actual. Si su empresa ya utiliza la tecnología, puede ser un gran incentivo para aprender. Simplemente pídale a su gerente o líder de equipo que le asigne tareas relacionadas con ella, lo que le permitirá consolidar su conocimiento a través de la práctica. Si su trabajo utiliza una pila de tecnología fija y no hay oportunidad de aprender algo nuevo, siempre puede crear su propio proyecto paralelo para explorar nuevos límites de forma independiente. Solo asegúrese de no violar su contrato de trabajo mientras lo hace.


Incluso si recién estás comenzando tu camino en el desarrollo, la estrategia sigue siendo la misma: elige una tecnología que puedas usar en la vida real (en el trabajo o en un proyecto secundario). Elige un lenguaje con un futuro brillante, no uno que la comunidad de desarrolladores rechace. Como recién estás comenzando tu viaje y no estás agobiado por altos salarios y expectativas como especialista, puedes cambiar fácil y rápidamente tu stack tecnológico si el segundo lenguaje que aprendes te atrae más que el primero. Tienes mayor flexibilidad en tu elección y vale la pena aprovechar este beneficio. Pero no te excedas: los cambios demasiado frecuentes en tu stack tecnológico y un flujo abrumador de conocimiento pueden ser perjudiciales. Encuentra un equilibrio entre lo que quieres y lo que puedes manejar, y seguramente alcanzarás el éxito.


Para algunos desarrolladores, especialmente aquellos con muchos años de experiencia, mi consejo puede parecer obvio. Pero como dice el dicho, "La repetición es la madre del aprendizaje", y nadie ha desmentido nunca la verdad de estas sabias palabras. Espero que mi artículo anime a quienes llevan mucho tiempo queriendo hacerlo pero eran demasiado perezosos para hacerlo y motive a los novatos entusiastas. Espero que mi consejo resulte útil y tal vez incluso inspire un mayor crecimiento profesional.