Jeffrey Ullman es un nombre que resuena con fuerza en el ámbito de la informática mundial. Reconocido por su profundo impacto en los fundamentos de los compiladores, los lenguajes de programación y la teoría de bases de datos, su carrera y pensamiento ofrecen una ventana invaluable para comprender tanto los pilares sólidos de la computación como sus retos emergentes. Condecorado en 2020 con el prestigioso Premio Turing de la ACM junto a Alfred Aho, Ullman ha sido el autor de varios textos que, más que simples libros, se han erigido como verdaderas referencias obligatorias para generaciones de profesionales y estudiantes de ciencias de la computación. Su célebre "libro del dragón", conocido formalmente como "Compilers: Principles, Techniques and Tools", no solo es considerado una biblia en el campo de los compiladores, sino que también destaca por su icónica portada que evoca la lucha épica de un guerrero enfrentando a un dragón, una metáfora que él mismo explica con profundo trasfondo cultural y algo de autoironía. La emblemática portada del libro refleja un momento en que Ullman no estaba totalmente seguro de la eficacia de la teoría que promovían.
En sus palabras, la figura del guerrero enfrentando al dragón simboliza el esfuerzo por "matar al dragón", una alusión a la complejidad de crear compiladores más accesibles y efectivos. Sin embargo, también reconocía la posibilidad de que este esfuerzo terminara siendo parecido a "luchar contra molinos de viento", haciendo referencia al clásico literario Don Quijote de la Mancha. Irónicamente, ciertas técnicas como el análisis sintáctico LR(k) y la traducción dirigida por sintaxis han demostrado ser altamente efectivas, posicionándose como herramientas fundamentales en la disciplina. Más allá de su reconocimiento por los compiladores, Ullman ha abordado un espectro amplio dentro de la informática teórica y aplicada, incluyendo bases de datos, minería de datos, algoritmos y estructuras de datos, demostrando que el conocimiento profundo y multidisciplinar sigue siendo clave en un entorno cada vez más especializado. Él rememora que en los inicios de la informática había muy pocos contenidos y tipos de software significativos, lo que permitía a los investigadores conocer ampliamente lo que entonces se consideraba la “ciencia de la computación”.
Esa visión integral lo llevó a abordar problemas en áreas que hoy son consideradas el núcleo mismo de la disciplina. En relación con la tensión histórica entre la elegancia teórica y la utilidad práctica, Ullman reconoce que aunque ambas dimensiones no necesariamente deben reconciliarse, existe un reconocimiento creciente sobre el papel crucial de la teoría en la creación de software útil y eficiente. Durante mucho tiempo, la falta de certeza sobre qué teoría sería verdaderamente útil llevó a una variedad de enfoques sin dirección clara. Sin embargo, la evidencia fue contundente cuando la matemática avanzada aplicada en áreas como el análisis sintáctico logró reducir considerablemente los tiempos de desarrollo, demostrando que no todo está destinado a quedar en abstracción sino que puede aplicarse para resolver retos reales. Uno de los desafíos técnicos más emblemáticos en la carrera de Ullman fue el desarrollo del lenguaje lógico "Datalog", una versión de lógica de primer orden basada en cláusulas Horn que permitió realizar consultas recursivas tratables y optimizables, con implicaciones que impactarían tanto en la inteligencia artificial como en los sistemas de bases de datos.
La introducción de "Datalog" reflejó un esfuerzo por unir teorías complejas con aplicaciones prácticas, aunque enfrentó resistencia tanto de la comunidad de IA, que la consideraba demasiado limitada, como de los expertos en bases de datos, que no percibían la necesidad de recursión en sus sistemas. Sin embargo, con el paso del tiempo, la influencia de "Datalog" quedó plasmada en estándares como SQL98, incluyendo técnicas de optimización derivadas de este lenguaje, como los "conjuntos mágicos", que encontraron aplicaciones diversas e inesperadas en compiladores y análisis de sistemas distribuidos. En la era actual marcada por la inteligencia artificial generativa, Ullman ofrece reflexiones profundas sobre los retos y oportunidades que surgen con el aumento del código generado por sistemas de IA. Reconoce que aún carecemos de teorías robustas que expliquen completamente comportamientos complejos de redes neuronales profundas o modelos de lenguaje a gran escala (LLM). Problemas como la vulnerabilidad a modificaciones mínimas en la entrada o la dificultad para prevenir comportamientos indeseados o filtraciones de información (conocidos como "jailbreaks") continúan desafiando a la comunidad investigadora.
Ante esta realidad imperfecta, Ullman enfatiza la importancia de las abstracciones para comunicar a los modelos de IA instrucciones claras y efectivas en un formato mucho más conciso que el propio código. Al compartir su experiencia como autor de múltiples libros de informática, Ullman revela cómo fue aprendiendo y perfeccionando el arte de la escritura técnica. Inicialmente, junto a su colega John Hopcroft, buscaban hacer accesible la teoría de autómatas, dado que los textos existentes resultaban difíciles para estudiantes. Aunque al principio cometieron errores de juventud que afectaron incluso a las pruebas de imprenta, la práctica continuada convirtió este proceso en algo más ágil y refinado. Esta evolución demuestra que la excelencia en la divulgación y la enseñanza también es resultado de disciplina y dedicación continua.
Finalmente, frente a las preguntas sobre el consejo que ofrecería a los jóvenes investigadores que buscan dejar su huella en un campo en transformación acelerada, Ullman propone una perspectiva poco convencional pero sumamente valiosa. Advierte sobre los riesgos de perseguir únicamente los “problemas abiertos” que aparecen en la literatura académica, pues estos a menudo se desvían del problema real o práctico que inicialmente motivó la investigación. Recomienda que los investigadores identifiquen problemas con utilidad real y traten de resolverlos, estudiando la bibliografía para asegurarse de la originalidad de sus contribuciones. Esta aproximación pragmática no solo fomenta una investigación más significativa sino que también ayuda a evitar la proliferación de resultados académicos desconectados de necesidades concretas. En suma, la visión de Jeffrey Ullman sobre la informática es la de un campo dinámico que siempre tendrá un núcleo esencial formado por fundamentos teóricos aplicados con propósito.
Su trayectoria y sus ideas inspiran a combinar la pasión por la teoría con el compromiso hacia la utilidad práctica, en un camino donde la curiosidad, la perseverancia y la honestidad intelectual son las mejores guías para enfrentar los dragones y molinos de viento que inevitablemente aparecerán.