La Guerras de los Lenguajes de Programación

«Elige la herramienta adecuada para el trabajo» nunca parece ser suficiente para aquellos que creen que su herramienta es la correcta para todos los trabajos.

Recientemente, Microsoft decidió reescribir la cadena de herramientas de TypeScript utilizando Go, lo que ha generado mucho revuelo ya que muchos se preguntan por qué Microsoft eligió el lenguaje Go en lugar de su propio C# o incluso TypeScript.

Personalmente, encuentro esta decisión algo curiosa. La discusión que ha surgido sobre «mi lenguaje es mejor que el tuyo» me trae recuerdos de viejas batallas.

Aprendí a programar utilizando BASIC en los años 70. BASIC tenía números de línea, y recuerdo haber oído hablar de un lenguaje novedoso llamado Pascal que no tenía números de línea y me preguntaba cómo era eso posible. ¿Cómo sabrías dónde hacer un GOTO?

Irónicamente, fue Pascal—primero en la forma de Turbo Pascal y luego como Delphi—el que lanzó mi carrera en el desarrollo de software.

Comencé programando como hobby, pero me gustó tanto que dejé una buena pensión de la Marina para convertirme en desarrollador profesional.

Me fue bastante bien. Escribí libros, blogs y eventualmente me convertí en el gerente de producto de Delphi.

Muerte a Visual Basic

Uno de los apodos que Delphi tuvo antes de su lanzamiento (además del nombre Delphi en sí) fue VBK—Visual Basic Killer.

En ese momento, la mayoría del desarrollo de software se centraba en Windows y VB era muy popular entre los desarrolladores de Windows, que disfrutaban de su enfoque de desarrollo visual y de que no era C++.

Naturalmente, el apodo «VB Killer» enfureció a los desarrolladores que usaban y apreciaban VB. Nosotros, los fanáticos de Delphi, solíamos ir a los foros de VB y decirles cómo Delphi iba a matar a VB.

No es sorprendente que los fans de VB se molestaran con esta noción y comenzó la guerra de lenguajes.

Se puso feo. Nos lanzábamos insultos personales y discutíamos interminablemente sobre por qué nuestro lenguaje elegido era el mejor.

Recuerdo haberme puesto muy, muy agitado al respecto. Era algo personal por razones que parecían increíblemente importantes. Naturalmente, ahora que soy (con suerte) una persona más sabia y madura, todo eso me parece bastante tonto.

Lenguajes y herramientas de pago

Es interesante pensar que en aquellos días, tanto Delphi como Visual Basic eran herramientas que tenías que pagar. Hoy en día, la mayoría de los lenguajes de programación y herramientas básicas son gratuitas.

En los años 90, teníamos que comprar nuestras herramientas de desarrollo y creo que eso nos llevaba a ser mucho más defensivos con respecto a nuestra elección.

Es gracioso mirar atrás y pensar que la elección del lenguaje con el que programabas era tan importante. Hoy en día, veo disputas similares, como la que existe entre los fanáticos de JavaScript y TypeScript o entre los usuarios de Rust y C++.

Una batalla sin fin

Finalmente me di cuenta de que este es un debate interminable. Los sistemas, lenguajes y frameworks son tan complejos y hay tantos puntos de vista válidos, que la discusión nunca se resolverá y no existe una «respuesta correcta» definitiva.

Solo elige el lenguaje que te guste, que funcione para ti y con el que puedas hacer el trabajo.

Hay equipos en todas partes que tienen éxito con Java, C#, JavaScript, TypeScript, Pascal, C++, Rust, Python.. Podría seguir mencionando por mucho tiempo.

Así que parece que no hay una elección equivocada. Supongo que si intentaras construir una aplicación web con GW-BASIC, podrías encontrar algunos obstáculos.

Pero hoy en día hay muchas maneras de construir una aplicación web, y todas funcionan. Cada una tiene fortalezas y limitaciones, y todas te volverán loco en algún momento, pero también te darán momentos de éxtasis cuando te des cuenta de su elegancia.

Respuestas mayormente correctas

En otras palabras, no hay una respuesta incorrecta, solo respuestas correctas. Y pelear por ello es, bueno, una tontería. Haz lo que funcione para ti y mantente alejado de los foros de «el otro equipo».

Para ser justo, hay respuestas incorrectas. Probablemente GW-BASIC no sea una buena elección para mucho de hoy en día y sospecho que una gran empresa no apostará su futuro en un framework emergente basado en Perl.

Pero hay una gran cantidad de respuestas correctas evidentes—los lenguajes venerables con ecosistemas grandes y ricos—que no puedes equivocarte al elegir uno de ellos.

Las guerras de lenguajes inevitablemente terminan con la frase «Elige la herramienta adecuada para el trabajo». Claro, eso nunca parece satisfacer a los fanáticos que piensan que su herramienta es la correcta para todo.

Y «Elige la herramienta adecuada para el trabajo» suena un poco trillado, porque ¿Quién elegiría la herramienta equivocada para el trabajo? Pero al final, es un consejo sólido.

No sé por qué Microsoft eligió Go para reescribir TypeScript, pero lo que sí sé es que si Microsoft pensó que era la mejor herramienta para el trabajo, no voy a discutir con ellos ni con nadie al respecto.


Descubre más desde CIBERED

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario