Inicio Tecnología Python es muy lento. ¿Puede Julia resolver el problema de los dos...

Python es muy lento. ¿Puede Julia resolver el problema de los dos idiomas?

13
0

Como género, la “conferencia de aceptación del premio” es poco más que una formalidad y una banalidad. Pero hay al menos una encantadora excepción a esta regla: las charlas dadas por los más destacados científicos informáticos con motivo de su Premios Turing.

Algunos se leen como manifiestos: John Backus’ “¿Se puede liberar la programación del estilo von Neumann?» (1977) inspiró un nuevo paradigma que engendró lenguajes funcionales como Haskell. Otros son advertencias: en su «Reflexiones sobre la confianza» (1984), Ken Thompson demostró el peligro de los compiladores con puertas traseras, lo que probablemente previene una gran cantidad de vulnerabilidades de seguridad. Edsger Dijkstra, en «El humilde programador(1972), instó a los de su calaña a desconfiar de la inteligencia y reconocer “las limitaciones intrínsecas de la mente humana”.

Para nuestros propósitos, consideremos la embriagadora conferencia de Kenneth Iverson de 1979: “La notación como herramienta de pensamiento.” En él, demostró que las notaciones matemáticas no son sólo una taquigrafía conveniente: CO2 para el dióxido de carbono, 3.888 para MMMDCCCLXXXVIII; también permiten descubrir fácilmente nuevos conocimientos. Como dijo una vez el matemático Alfred North Whitehead: “Al liberar al cerebro de todo trabajo innecesario, una buena notación lo deja libre para concentrarse en problemas más avanzados”.

Iverson ganó su Premio Turing por APL, un lenguaje de programación de aspecto espeluznante que comenzó su vida como un sistema de notación para unir lenguajes. En los primeros días de la informática científica, los programadores tenían que pensar en un lenguaje (notación matemática) pero luego programar en otro (por ejemplo, Fortran). APL fue diseñado para que operaciones difíciles de manejar pudieran escribirse de manera tan compacta como ecuaciones: líneas de código colapsadas en un par de símbolos como + o ×. APL resultó ser más influyente que adoptado, pero no importa: demostró que dos idiomas podían fusionarse en uno.

El año 2026 Se cumplen 60 años desde la introducción de APL, y un nuevo tipo de problema de dos idiomas atormenta el campo de la informática científica. El lenguaje de programación dominante es Python, pero reina no tanto como un conquistador musculoso sino como un rey tambaleante. En otras palabras, Python es terriblemente lento, un defecto que ni siquiera sus defensores más fervientes negarían.

De ahí el problema de los dos lenguajes: los investigadores crean prototipos en Python, lento y amigable, pero, para las partes críticas para el rendimiento, reescriben en lenguajes más rápidos y menos amigables como C++ o Rust. Esta limitación no se puede resolver creando un pelotón de agentes de codificación de IA, porque no importa cuánto optimice un lenguaje lento, uno más rápido lo superará.

Estas compensaciones binarias existen en otros dominios. Se podría decir que la construcción, por ejemplo, tiene un problema de dos materiales. La madera es un materials versatile para crear prototipos de una estructura; incluso un aficionado puede serrar y clavar un edificio funcional. Pero no sirve para levantar un rascacielos. Esto plantea una pregunta obvia: ¿y si existiera un materials tan manipulable como la madera pero tan fuerte como el acero? ¿Y si existiera un lenguaje tan ergonómico como Python pero tan rápido como C?

En 2012, cuatro Científicos informáticos con gran experiencia matemática se unieron para abordar el problema precise de los dos idiomas. En un breve ensayo titulado “Por qué creamos a Julia”, dijeron que aceptaron el proyecto “porque somos codiciosos”. Su texto comienza como un regalo de San Valentín para los lenguajes de programación:

Somos usuarios avanzados de Matlab. Algunos de nosotros somos hackers de Lisp. Algunos son Pythonistas, otros Rubyistas, otros hackers de Perl… Hemos generado más diagramas R de los que cualquier persona en su sano juicio debería. C es nuestro lenguaje de programación de isla desierta.

Pero cada uno de estos lenguajes, escribieron, “es perfecto para algunos aspectos del trabajo y horrible para otros”. Por codiciosos que fueran, querían «un lenguaje que fuera de código abierto, con una licencia liberal… Algo que fuera muy sencillo de aprender, pero que mantuviera contentos a los hackers más serios». Julia sería el único idioma que los uniría a todos.

fonte

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí