El mejor informático del mundo
Cuando era adolescente, quería saber quién era el mejor deportista de todos los tiempos o cuál era el arte marcial más letal. En aquellos años (los nada cercanos noventa) me presentaron a un joven autodidacta que ostentaba el reconocimiento informal de ser el mejor informático de Málaga. Las leyendas crecen como la levadura, de ahí que alguna admiradora le considerara el mejor informático de España y más de un mitómano llegó a afirmar que era el mejor informático del mundo. Lo cierto es que nuestro amigo Víctor Romero era un informático colosal porque, además de su audacia y precocidad con los ordenadores, sabía comunicar. Ser imaginativo y didáctico a la vez no es una virtud tan frecuente entre informáticos.
Han pasado casi veinte años desde que lo conocí y me parece oportuno entrevistarle para aprender de su experiencia y de su fulgurante carrera, que le ha llevado a California para trabajar en Salesforce. Señoras y señores, con todos ustedes, me complace presentaros a un informático casi tan grande como su leyenda...
ANDRÉS LOMEÑA: Mi introducción conlleva más presión para ti que expectativas para el lector, y eso que no son pocas. ¿Quiénes son tus leyendas de la informática? Según parece, Geoffrey Hinton, uno de los últimos galardonados con el Premio Turing, es descendiente del gran matemático George Boole. ¿Le inspiran figuras históricas como Boole y Ada Lovelace o personalidades más recientes como Bjarne Stroustrup?
VÍCTOR ROMERO: Estoy sonrojado por leer la introducción que me haces, casi melancólico de aquellos maravillosos años de heavy metal y juegos de rol en nuestra Málaga de los noventa. Respecto a tu pregunta, déjame compartir una pequeña anécdota sobre lo cerca que quedan las estrellas en Silicon Valley: hace unos días, en una conferencia interna de mi empresa, me sentaba a almorzar junto a un compañero al que no conocía y con el que no intercambié palabra alguna, ya que estaba ocupado discutiendo las nimiedades del día a día con el resto de la mesa. Al volver al salón principal, nuestro compañero recibió una gran ovación tras haber sido galardonado con el prestigioso premio Marconi. Era ni más ni menos que el doctor Taher Elgamal, el inventor de SSL/TLS [pionero de la firma digital].
A pesar de esta cercanía, me es absolutamente imposible dejar de tener como ídolos a algunos de mis pares, con los que codo a codo convertimos una empresa de tan solo un puñado de empleados en un verdadero gigante. Muchos de mis compañeros son mejores especialistas en ciertas áreas de lo que yo llegaré a ser jamás; lo que les he visto hacer a mi lado, cómo lo han hecho y a qué velocidad, me hace mirarles como verdaderos superhéroes.
A.L.: Entrevisté al informático Al Sweigart y me dijo que aprendió a programar en tercero de primaria. Tanta precocidad resulta insultante. ¿Crees que la programación por bloques de Scratch es lo que necesita cualquier estudiante de informática de instituto o echa en falta algo en ese nivel formativo?
V.R.: No sabría decir con precisión a qué edad empecé. Hacía pequeñísimos jueguecitos en Basic con mi Amstrad CPC 464 en lo que hoy sería primaria, pero sin duda eso se debió a que tuve cierta exposición a la diversión alrededor de los ordenadores a través de un amigo de la familia. No todo el mundo tiene esa suerte. Francamente, hay muchos riesgos en esto de aprender informática de forma temprana. Es un campo inmenso de la ciencia y es muy fácil tanto frivolizarlo como convertirlo en una experiencia traumática.
Para niños, yo me centraría en ofrecer tantas herramientas como sea posible para permitirles divertirse, dejándoles divagar y cambiar de proyecto en vez de buscar completar una tarea. Lo convertiría más en una forma de recreo que en una clase formal. Si se divierten, pueden llegar a descubrir una vocación. Además, incluiría muy especialmente a las niñas, tradicionalmente menos expuestas a las ingenierías, para que sigamos teniendo más Adas Lovelace, consiguiendo así que esta ciencia sirva mejor a la humanidad.
A.L.: Me dijo Guido van Rossum, creador de Python, que se puede lograr un lenguaje autocontenido, como un compilador de C escrito en C. Ese nivel de autorreferencialidad hace que me explote la cabeza. ¿Se podría entonces programar Python 4 mediante Python 3? Dicho de manera más ambiciosa: ¿qué se necesita para inventar un lenguaje de programación? Como respondas que te ves capaz de hacerlo, te animaré a que inventes uno, aunque nunca vaya a saber usarlo. ¿Lomeña te gusta como nombre para ese nuevo lenguaje? Lo pregunto solo por si la eñe te da problemas en código ASCII.
V.R.: Efectivamente se puede y es relativamente común, aunque también es popular escribir compiladores en C o C++. Entiendo que pueda ser difícil de comprender, es casi como la famosa película Origen, pero en esencia es simple. Se escribe un primer compilador de Lomeña 1.0 en ensamblador, que es una representación del código máquina, o en C, que viene a ser algo así como una lengua franca de la informática; luego escribimos Lomeña 2.0 en Lomeña 1.0 y seguimos. Dicho esto, no estoy seguro de que haya un lugar para el lenguaje Lomeña en el mercado de compiladores actual. ¿Sabías que incluso hay lenguajes de programación hechos como broma? Se llaman los lenguajes de programación esotéricos. Diría que los más famosos son el Brainfuck, diseñado para ser muy simple pero ininteligible, y el Whitespace, ilegible porque todo son espacios en blanco, tabuladores y saltos de carro. ¡Son completamente funcionales y Turing-completos!
A.L.: El índice TIOBE mide los lenguajes de programación más utilizados. También he visto infinidad de diagramas y cronologías sobre el nacimiento (y la muerte) de los diferentes lenguajes. A su juicio, ¿esa eclosión representa una muestra saludable de pluralismo o un síntoma de la falta de estandarización, integración y cooperación? No sé si las facultades de informática pueden actualizarse debido al ritmo vertiginoso de los cambios.
V.R.: Sin ninguna duda es un síntoma de salud, si bien es cierto que estamos teniendo una suerte de explosión cámbrica donde pareciera que cada semana aparece un nuevo lenguaje de programación. Muy a menudo estos introducen paradigmas y conceptos que hacen los lenguajes más sencillos para los humanos o más eficientes para las máquinas. Estos nuevos lenguajes, a menudo casi sin usuarios, pueden tomar riesgos que no puede tomar un lenguaje digamos como Java, con más de veinte años de retrocompatibilidad a sus espaldas y millones de usuarios. Si el paradigma funciona, los lenguajes con más solera lo incluirán posteriormente, hay muchos ejemplos de ello.
Respecto a las facultades, diría que no es tan grave. A menudo estas se centran en Python o Java, que como puedes comprobar aparecen muy arriba en el índice TIOBE. Son lenguajes suficientemente sólidos como para poder enseñar correctamente los fundamentos de la programación, que también son aplicables al resto de lenguajes, al tiempo que hacer al estudiante atractivo para el mercado de trabajo.
A.L.: ¿Qué me dice del futuro verde de la informática y de la robótica? ¿Qué pueden hacer los ordenadores contra el calentamiento global? La promesa de esparcir robots ecológicos por todo el planeta no parece nada realista.
V.R.: Hay, por supuesto, un aspecto técnico importante, como en los proyectos que mencionas y otros tantos muy respetables relacionados con los mares, el cielo, el clima, etcétera. Sin embargo, me quedaría con un aspecto más idealista. El gran Richard M. Stallman introdujo hace años un germen comunitario en el mundo del software y creo que fue Watts Humphrey, el padre del control de la calidad del software, quien predijo: Todas las empresas serán empresas de software. Hoy, al menos en California, es fácil reconocer los frutos de ese germen en las empresas de software (que son o serán todas): empleados de Google exigiendo que no se haga software con fines militares, especialistas no queriendo trabajar para empresas financiadas con fondos provenientes de países que no respetan los derechos humanos, etcétera. Quizás en el resto del mundo todavía se esté dando la transformación para que todas las empresas sean una empresa de software, pero cuando llegue por completo traerá consigo, en mayor o menor medida, algunos valores que quisiera pensar que llegan a través del germen de la ideología del open source.
A.L.: Con mis preguntas he quedado como un nerd, pero a ti tampoco te estoy haciendo ningún favor. ¿Algún deseo o afición que te haga parecer una persona corriente?
V.R.: ¡Soy una persona de lo más corriente! La verdad es que me divierte mucho leer noticias internacionales sobre el Valley y sus informáticos porque pareciera que aquí somos marcianos en una especie de distopía preapocalíptica. Para demostrar lo corriente que soy te daré ejemplos de aficiones, que definitivamente caen del lado de lo común más que de lo nerd: te diré que aprecio mucho la cultura italiana desde los tiempos en los que viví en Roma, hace una eternidad, y procuro estar al día de su cine y su música. Soy un amante de la historia y no dejo de aburrir a mis amigos con trocitos de historia sobre los temas de los que estemos hablando y quizás también te diría que sigo soñando con el día en que vuelva a mi paraíso en la tierra: Málaga. Soy un boquerón desde que no era más que un chanquetito.
A.L.: A pesar de que ha quedado claro que eres un gran informático con don de palabra, ¿deseas rectificar, matizar o ampliar algo de lo que has dicho? Ni se te ocurra usar la instrucción GOTO...
V.R.: Con la referencia a GOTO efectivamente has quedado como un nerd. En relación con esto último, te puedo hablar de mi pasado cuasi-criminal. Cuando era niño, al pasar por algún centro comercial donde vendieran ordenadores (que en aquella época aún se programaban con Basic) escribía:
10 PRINT “Tonto el que lo lea”
20 GOTO 10
Esto ponía al ordenador en un bucle infinito imprimiendo Tonto el que lo lea por toda la pantalla. Sin duda no era una gran expresión de madurez, pero en aquel momento era lo más parecido a vivir al límite.
Por mi parte, esto es lo más parecido a desmitificar una leyenda… para conseguir engrandecerla.