Estas disyuntivas binarias existen en otros ámbitos. Se podría decir que la construcción, por ejemplo, tiene un problema de dos materiales. La madera es un material maleable para crear prototipos de estructuras; incluso un aficionado puede serrar y clavar para construir un edificio funcional. Pero no sirve para levantar un rascacielos. Esto plantea una pregunta obvia: ¿y si existiera un material tan fácil de manipular como la madera, pero tan resistente como el acero? ¿Y si existiera un lenguaje tan ergonómico como Python, pero tan rápido como C?
En 2012, cuatro informáticos con una sólida formación matemática se unieron para abordar el problema actual de los dos lenguajes. En un breve ensayo titulado “Por qué creamos Julia”, afirmaron que emprendieron el proyecto “porque somos codiciosos”. Su texto comienza como una declaración de amor a los lenguajes de programación:
Rubyistas”, y otros hackers de Perl… Hemos generado más gráficos de R de los que cualquier persona en su sano juicio debería. C es nuestro lenguaje de programación preferido.Pero cada uno de estos lenguajes, escribieron, “es perfecto para algunos aspectos del trabajo y terrible para otros”. Codiciosos como eran, querían “un lenguaje de código abierto, con una licencia liberal… Algo que sea tremendamente sencillo de aprender, pero que mantenga contentos a los programadores más exigentes”. Julia sería el único lenguaje capaz de unirlos a todos.
¿Un lenguaje unificador?
Descubrí Julia por casualidad en 2017 (un año antes de que se estabilizara su sintaxis) cuando asistí a unas conferencias de Sebastian Seung, un neurocientífico que lo utilizaba para cartografiar conectomas, el mapa completo de las vías neuronales del cerebro. Mi primera impresión fue su nombre encantador y atractivo, que se alejaba de la torpe nomenclatura habitual en el campo: los poco elegantes (PL/I), los feos (Erlang), los tipográficamente desgarbados (C++) y los literalmente patológicos (MUMPS, que, aunque parezca increíble, constituye la columna vertebral del sistema sanitario estadounidense).
También pude apreciar que se había reflexionado seriamente sobre el diseño de Julia. Tras estudiar los numerosos problemas en los que habían caído otros lenguajes, los creadores reunieron ideas ingeniosas de diferentes lenguajes (una prueba de que la observación cuidadosa debe preceder a la puesta en marcha de una empresa tan ambiciosa como la creación de uno nuevo).
En 2026, Julia ha llegado a atraer a una comunidad sensata de adultos, algo que no puede decirse de muchas comunidades de lenguajes. Los fanáticos de los lenguajes son un grupo emocional y ruidoso (más de una amistad se ha roto por una diferencia de opinión sobre la sintaxis), pero la comunidad de Julia aún no se ha visto sacudida por ningún drama importante. Tiene un carácter más bien académico, y atrae más a científicos que a hackers. Pero, a diferencia de otros lenguajes que también utilizan los académicos, Julia no se vuelve demasiado fantasioso, tampoco atrae a seguidores fervientes ni se dedica a juegos intelectuales (como, por ejemplo, Haskell). En el Julia-Con anual, escucharás historias triunfales sobre cómo se ha reescrito código de MATLAB en Julia y se ha conseguido una aceleración de 60 veces. Según algunas pruebas de rendimiento, el código de Julia puede ejecutarse entre 10 y 1,000 veces más rápido que el de Python.
Pero no encontrarás a Julia en la tabla de la encuesta anual de Stack Overflow sobre los lenguajes más populares. Al final, no sustituyó a Python, ni de lejos. ¿Por qué no? ¿Qué salió mal?
WIRED. Adaptado por Andrea Baranenko.