John McCarthy, el innovador desconocido
"La computación estará alguna vez organizada como un suministro público, del mismo modo que el teléfono es un suministro público. Cada cliente pagará sólo por la capacidad que realmente utilice, pero tendrá acceso a toda la potencia de un gran sistema... La computación como suministro se podría convertir en una nueva e importante industria."
Estas palabras que tan actuales nos suenan son las que definen la esencia de lo que hoy en día conocemos como "Cloud Computing" y que es, de hecho, la más prometedora faceta de la industria TIC. Y el que las pronunció con gran clarividencia en 1961 (¡hace más de 50 años!) durante la celebración del centenario del M.I.T. fue la leyenda de la informática John McCarthy.
El "tío John" como le conocían en el M.I.T fue uno de los más importantes innovadores en el campo de la computación, y de no ser por él muchos de los grandes avances en lenguajes de programación, software y la propia Internet no habrían sido posibles.
Como he comentado con la cita de apertura, él fue el primero en hablar públicamente de la computación como servicio, desarrollando además uno de los primeros sistemas de "time sharing" que permitían compartir los carísimos ordenadores de los años 60.
Inteligencia artificial
Fue también el padre de la inteligencia artificial, acuñando el término, definiendo sus bases matemáticas y organizando la primera conferencia internacional sobre esta materia ¡en 1956!.
Para nosotros, gente del año 2012 acostumbrada a tener a Siri (el asistente del iPhone 4S), DeepBlue (que ganó a Kasparov al ajedrez) o Watson (que concursa -y gana- en televisión), hablar sobre inteligencia artificial puede resultar incluso trivial. Ahora imagínate lo mismo **hace 56 años **cuando los ordenadores ocupaban habitaciones enteras y programarlos significaba cambiar cables a mano. No es lo mismo ¿verdad? 😉
Más adelante, cuando la mayoría estaba investigando cómo crear programas que jugaran bien al ajedrez (ya lo tenía muy superado), él trabajaba en procesamiento natural del lenguaje y lo que ahora llamamos robótica pero que por entonces no existía aún.
Ya en 1955 habló sobre las máquinas que toman conciencia de sí mismas, tanto desde el punto de vista de la ciencia como de sus implicaciones sociales. Sí, eso que luego popularizaron los guionistas de Terminator cuando nos hablaron de Skynet.
Lenguajes de programación
Uno de sus mayores logros fue la invención del lenguaje de programación Lisp en 1958. Fue el segundo lenguaje de programación de la historia, un año después de Fortran.
Dos años después, en 1960, publicó el diseño de Lisp en una revista científica. Parafraseando al gran Paul Graham, "Con esta publicación [McCarthy] hizo por el mundo de la computación lo que Euclides hizo por la geometría".
Este lenguaje orientado a la inteligencia artificial contenía tantas innovaciones que es imposible pensar en un lenguaje de programación actual que no tenga algo de éste: los condicionales, los bucles, la recursividad, los tipos verificados en tiempo de ejecución, el procesado de listas, las expresiones lambda... Incluso la recolección de basura, algo que forma parte fundamental de Java y .NET, estaban presentes en Lisp en 1960 y no se introdujo en otros lenguajes hasta mediados de los años '90.
Es de justicia...
En el título decía que McCarthy era "el innovador desconocido". Lo cierto es que no era desconocido en los ambientes más "geeks", pero sí para el gran público, de ahí mi afirmación.
El pasado mes de Octubre de 2011 fue el mes en el que falleció Steve Jobs. Precisamente ese mismo mes, aunque más tarde, nos dejaron también John Mccarthy y Denis Ritchie (padre de UNIX y del lenguaje C). La prensa generalista no habló apenas de ellos, aunque durante semanas sí que oímos hablar a todas horas del ególatra de Palo Alto y sus iChismes. Yo mismo escribí sobre él a pocos días de su muerte y me invitaron a hablar en un programa de radio sobre su figura.
A los pocos días de haber escrito mi artículo sobre Jobs moría Ritchie, y a finales de mes McCarthy. Entonces no escribí nada y ahora los resarzo con este post.
Steve Jobs innovó creando aparatos y software maravillosos que (casi) todo el mundo quiere usar, combinando ideas de otros de manera brillante. Pero si es recordado es porque sus aparatos y servicios tuvieron un gran éxito comercial que lo hizo millonario. De no ser así sería una nota a pie de página de la historia de la tecnología.
Pero nada de lo que hizo Jobs (o Microsoft, o Google...) hubiera sido posible sin el trabajo de profundo calado e innovación de John McCarthy y Dennis Ritchie, injustamente olvidados para el gran público. D.E.P.