Sábado, 03 de Mayo de 2025

Thomas Kurtz. Creó el lenguaje BASIC, y un argentino corrió el primer programa en la madrugada del 1° de mayo de 1964

ArgentinaLa Nación, Argentina 18 de enero de 2025

Thomas Kurtz en Dartmouth junto a una de las unidades de cinta de la Datanet-30 donde nació el BASIC Hablé con Thomas Kurtz en mayo de 2014

Thomas Kurtz en Dartmouth junto a una de las unidades de cinta de la Datanet-30 donde nació el BASIC



Hablé con Thomas Kurtz en mayo de 2014 . Se cumplía por entonces medio siglo del nacimiento del único lenguaje de programación cuyo nombre es conocido casi por cualquier persona que haya usado alguna vez una computadora: BASIC .

Kurtz, junto con el genial John Kemeny , habían creado este lenguaje en una época en la que la programación estaba -literalmente- naciendo. Kurtz falleció el 12 de noviembre último . La noticia, claro, me trajo recuerdos de aquella nota, en la que también hablé con mi hoy amigo John McGeachie , el argentino que estuvo en el momento el que nació el lenguaje BASIC, el 1° de mayo de 1964 a las 4 de la mañana, en la Universidad de Dartmouth .

En rigor, ni McGeachie ni Kurtz estaban seguros de si fue exactamente a las 4 de la mañana ( "Es una estimación algo vaga" , supo decir Thomas) ni de qué hacía exactamente ese primer programa escrito en BASIC (luego averigüé que posiblemente fue algo tan simple como sumar 2 más 2 ), y en la práctica esa noche ocurrió algo de un alcance todavía mayor, aunque ciertamente menos célebre. El 1° de mayo de 1964 a la madrugada nació también el sistema operativo de la Universidad de Dartmouth , mejor conocido como DTSS , cuya importancia requerirá algo de contexto. Thomas Kurtz y John Kemeny miran el folleto de una interfaz General Electric 235, una versión mejorada de la GE-225

Muchos de los que no somos programadores profesionales, pero que podemos darnos el lujo de escribir nuestros propios programas (es una pena que siga siendo un lujo) hicimos nuestros primeros palotes en BASIC . En general (no todos), los programadores profesionales miran este lenguaje con desdén, salvo, claro, que hayan dado sus primeros pasos en BASIC, en cuyo caso lo recuerdan con cariño . Es que, al revés que los otros lenguajes que estaban apareciendo en esa misma época ( Algol y Fortran ), Kemeny y Kurtz se plantearon BASIC desde una óptica muy diferente . Querían que el lenguaje pudiera enseñarse a alumnos de carreras que no tuvieran que ver con las computadoras .

Es decir, a principios de la década del ‘60, estaban sugiriendo algo que habría hecho que la transformación digital fuera mucho menos ardua de lo que fue y sigue siendo . Nada más el otro día, una señora de más o menos mi edad, se vio en figurillas para darle a una empleada de un local su dirección de correo electrónico. No debería ser así. John McGeachie, el argentino que participó en el nacimiento del Basic, en 2014

Por supuesto, BASIC iba a nacer con una serie de limitaciones , porque de otro modo habría sido imposible enseñarlo en 2 o 3 horas (esa era la meta). Pero aun así les permitiría a alumnos de carreras como psicología o lenguas clásicas aprovechar un tipo de motor revolucionario; uno que, como la máquina de vapor y el ciclo Otto , pondrían en marcha una nueva era . Es decir, las computadoras, los cerebros electrónicos, el poder de cómputo.

Hoy sabemos que la informática es transversal y que no existe ya actividad alguna que no emplee alguna clase de programa . Todo eso vieron en la Universidad de Dartmouth entre 1957 (es el año en que la Unión Soviética puso en órbita el Sputnik-1 ) y 1964 , cuando finalmente corrieron el primer programa en BASIC y nació DTSS.

Fueron años de una actividad al mismo tiempo frenética y enteramente nueva . Las computadoras, los sistemas operativos y los lenguajes de programación estaban naciendo. Faltaban 10 años para que apareciera Unix -que es el predecesor del macOS , de Linux , iOS y Android - y 30 para Windows NT , que es el predecesor del Windows 11 que usamos hoy. Estaba, literalmente, todo por hacerse, y las ideas más fundamentales todavía debían plantearse, exponerse, ensayarse y probarse en el mundo real. De modo que hay innumerables personajes involucrados, uno de los cuales es nuestro pionero inesperado de hoy, Thomas Kurtz. Esta pieza se unirá con otras que ya han aparecido aquí, como las de John von Neumann , Douglas Engelbart o John McCarthy , y encajará con otras en el futuro.

Probemos con la docencia

Thomas Eugene Kurtz nació el 22 de febrero de 1928 en Oak Park , Illinois , Estados Unidos . Hizo el bachillerato en un colegio llamado Knox , en Galesburg , Illinois , y luego se doctoró en estadística en Princeton , la misma universidad en la que había enseñado Einstein y donde también sería profesor John Kemeny .

Kemeny sería reclutado por la Universidad de Dartmouth tras una casi entera restructuración que el departamento de matemática experimentó cuando buena parte de los docentes alcanzó la edad jubilatoria. Fiel a su estilo, Kemeny hizo cambios radicales y lo llamó a Kurtz, porque quería tener a alguien especializado en estadística .

Kurtz y Kemeny con una Macintosh de Apple y la primera IBM/PC, en ambos casos con implementaciones de BASIC

Thomas no tenía muy claro qué hacer de su vida luego de graduarse en Princeton, y cuando le llegó la oferta de Dartmouth le dijo a su esposa Patricia que quizá debía intentar por el lado de la docencia . Así entró en el aula uno de los dos hombres que nos darían el único lenguaje de programación que, con todo y sus limitaciones, podías aprender en cuestión de horas .

Lo experimenté a partir de 1976 , cuando usé una calculadora programable HP-65 para verificar que los resultados que obtenía en las pruebas de matemática, en el colegio. Sin saberlo, a los 15 años, llevaba en el bolsillo el legado de una revolución increíble . Porque si Kemeny y Kurtz querían que la programación saliera de las carreras STEM (Science, Technology, Engineering Mathematics), necesitaban que los alumnos vieran resultados de forma más o menos rápida. Y en la década del ’60 eso de ninguna manera era así. Por un lado, programar era realmente abstruso; por el otro, los alumnos dejaban una pila de tarjetas perforadas (sus programas) y un operador las procesaba (ejecutaba esos programas) cuando les llegaba el turno. Obviamente que de ese modo nunca íbamos a seducir al estudiante de psicología o de latín.

En una visita al Massachusetts Institute of Technology (MIT), Kurtz se cruzó con John McCarthy , que le dijo que en Dartmouth tenían que pasarse al Time Sharing , si querían hacer algo útil con las computadoras. Cosa que, lo sé, requiere una explicación.

No voy en tren

La primera computadora que pudieron comprar en Dartmouth fue una LGP-30 de Librascope . Era muy limitada, les costó 37.000 dólares en 1958 ( 400.000 de ahora ) y tuvieron que consignarla como un mueble, simplemente porque a nadie se le había ocurrido poner en el presupuesto del nuevo edificio de matemática de la universidad algo así como "una computadora" . Por fortuna, sí habían presupuestado muebles.

La razón por la que Kemeny decidió que la universidad debía tener su propia máquina es todavía más delirante, desde nuestro punto de vista actual . Hasta entonces, Kurtz tenía que viajar en tren cada 15 días hasta el MIT , que tenía su propio centro de cómputo, entregar a los operadores las tarjetas con los programas , esperar entre 2 y 3 horas y regresar a Dartmouth con los resultados, que por supuesto eran páginas impresas ; las computadoras no tenían pantalla por entonces.

Kurtz calculó una vez que la tasa de transferencia de este proceso (salir a las 6,20 de la mañana en tren, ir hasta el MIT, esperar dos o tres horas y regresar con los resultados) era de 1,67 bits por segundo . Eso es 180 millones de veces más lento que tu conexión con Internet hoy . De modo que la LGP-30 había sido un avance que les permitió sortear este trámite, digamos, tranviario.

Pero para sacar a la computación de su invernadero tenían que seguir el consejo de McCarthy. El problema era que la LGP-30 no tenía músculo para hacer Time Sharing. OK, ¿y qué es Time Sharing, por favor?

Simple. En lugar de ejecutar los programas en secuencia, una computadora capaz de hacer Time Sharing (tiempo compartido) podía correr varios programas simultáneamente . Los recursos (memoria, cómputo) se distribuían entre varios usuarios y, todavía más impactante, en muchos casos podías ver los resultados de manera inmediata . Ya sé que ahora sacás una foto en alta resolución y la ves en la pantalla de tu teléfono al instante. Pero para hacer eso en 1960 habrías necesitado una computadora del tamaño de la Ciudad Autónoma de Buenos Aires . Sin pantallas, así eran las computadoras en la década del '60. Estas máquinas estaban formadas por varias partes, en la foto se ve la interfaz que operaba con la Datanet-30 (posiblemente una GE-235) y dos unidades de cinta

Tras una licitación en la que participaron varias compañías ( IBM , General Electric , Burroughs , y otras), Dartmouth compró la Datanet-30 de General Electric , que costó 305.712 dólares en 1963 (algo más de 3 millones de dólares de hoy ) y los fondos salieron de la National Science Foundation , en gran medida gracias a los contactos que Kemeny había sembrado allí.

Sin saberlo, esta universidad colonial (una de las nueve previas a la emancipación de Estados Unidos ), fundada en 1769 en Hanover , New Hampshire , había comprado un pasaje a la revolución digital.

Es básico

Ahora que tenían el hardware (la unidad de control , que era lo más caro; la unidad de memoria de 8192 words ; la interfaz ; los módulos de entrada y salida de datos , y dos unidades de cinta ) había que ponerlo a andar. Eso iba a requerir escribir un sistema operativo de tiempo compartido que les permitiera a los alumnos escribir sus programas en un lenguaje sencillo, que también tenían que crear. John Kemeny, que escribió el compilador de Basic, muestra la patente de su coche en 1967

El sistema operativo se terminaría llamando Dartmouth Time-Sharing System (de allí, DTSS) y el lenguaje, luego de algunos nombres un poco discutibles, obtendría, gracias a Kurtz , unas siglas perfectas para lo que querían significar y también para quedar en los libros de historia. BASIC viene de Beginners' All-purpose Symbolic Instruction Code ; es decir, "código de instrucciones simbólicas de propósito general para principiantes".

Kemeny escribió el compilador y Kurtz se encargó de la implementación en el mundo real. La noche del 1° de mayo de 1964 , dos estudiantes (uno de ellos, McGeachie ) corrieron en DTSS el primer programa escrito en BASIC en la Datanet-30, que todavía olía a nuevo. Eran más o menos las cuatro de la mañana y al día siguiente se lo comunicaron a Kurtz. Habían hecho historia.

El legado

Aquel BASIC era esencialmente un compilador (unas 3000 líneas de código, calculaba en su momento Kurtz), no lo que conocemos hoy como entorno de programación . Y en el siguiente medio siglo sufriría muchos cambios, a veces para bien, otras, no. El BASIC que conocí en los ‘70 usaba GOTO -que también estaba en el original-, instrucción que a un programador profesional puede causarle un pico de presión. Definitivamente, no era el mismo lenguaje que luego volvería a visitar con el Visual BASIC de Microsoft , veinte años más tarde. Pero todos ellos tenían algo en común. Eran fáciles de aprender. Sin ser informático, podías poner a una computadora a hacer algo para vos en una tarde. OK, hagamos dos tardes . Para muchos de nosotros, incluso para varios programadores que siendo niños tomaron contacto con el cómputo, fue la puerta de entrada a la automatización de sus tareas cotidianas o a lenguajes más avanzados. En inglés, pueden encontrar en esta nota de The Register una buena recapitulación del legado de BASIC . De hecho, el lenguaje continúa vivo y en este sitio de GitHub están los dialectos actuales con guías y tutoriales . Estudiantes probando el nuevo sistema BASIC en la década de 1960 en la universidad de Dartmouth

Kemeny era un cruzado de simplificar lo complejo con el fin de despertar la curiosidad. Es célebre su conferencia donde desmenuza la ecuación más conocida de la Teoría de la Relatividad de Einstein, E=mC² , para un alumnado no técnico. Fue esa, y no otra, la misión de BASIC, y doy fe que la cumplió con creces . Si de entrada, a los 15 años, hubiera debido incorporar un C o incluso un Pascal , no sé si habría sido capaz. Era todo muy nuevo, muy pronto, muy rápido. Kemeny, que falleció prematuramente, en 1992, a los 66 años , había sufrido en carne propia los rigores del exilio ( su familia debió escapar de los nazis ) y las dificultades monumentales de apenas hablar inglés a graduase en Princeton . Así que las complicaciones innecesarias le disgustaban. Si querías usar una computadora para trazar las estadísticas del verbo fero en los clásicos latinos, adelante, para eso estaba BASIC . Manual de programación de la HP-65 con la que hice mis primeros palotes en BASIC. Nótese, por favor, la fecha

Thomas Kurtz, que fue el ejecutor de esta misión y el autor de su nombre pegadizo y redondito , falleció a los 96 años hace poco más de dos meses . Se había casado dos veces. Primero con Patricia Barr , en 1953 ; tuvieron tres hijos. Luego de divorciarse en 1973 volvió a contraer nupcias, esta vez con Agnes Seelye Bixler, en 1974 ; se mantendrían juntos durante medio siglo, hasta su muerte, el 12 de noviembre de 2024 .
La Nación Argentina O Globo Brasil El Mercurio Chile
El Tiempo Colombia La Nación Costa Rica La Prensa Gráfica El Salvador
El Universal México El Comercio Perú El Nuevo Dia Puerto Rico
Listin Diario República
Dominicana
El País Uruguay El Nacional Venezuela