El doctor Ritchie (Premio Turing 1983) y la tesis doctoral que nunca depositó

Por Francisco R. Villatoro, el 14 junio, 2025. Categoría(s): Ciencia • Historia • Informática • Personajes • Science ✎ 6

El doctor Dennis M. Ritchie (1941–2011), según su biografía para el Premio Turing de 1983 y muchas otras, no era doctor. Su tesis doctoral, «Program Structure and Computational Complexity» (1968), dirigida por Patrick C. Fischer en la Universidad de Harvard, no fue depositada en la biblioteca de dicha universidad. Nadie sabe el porqué no la depositó en febrero de 1968, pero Ritchie falleció sin el título de doctor; aunque todo el mundo creía que lo ostentaba y él mismo nunca lo negó en vida. La tesis estuvo perdida durante 54 años, hasta que en 2012 su hermana descubrió tres copias: una en casa de la viuda de Fischer [PDF], otra en casa de su amigo Albert R. Meyer [PDF] y la más deteriorada entre los papeles de su hermano [PDF]. La familia de Ritchie ha dedicado una página web a recopilar todo lo que se sabe sobre dicha tesis (Dennis Ritchie Thesis), que se hizo vox populi gracias al artículo de David C. Brock, «Discovering Computer Legend Dennis Ritchie’s Lost Dissertation. The creator of the C programming language and co-creator of Unix never got his Ph.D. because he didn’t file his dissertation,» IEEE Spectrum, 25 Sep 2020 [web], copia de la pieza en blog del Computer History Museum, 19 Jun 2020 [web].

Nadie sabe la razón de que la tesis no fuese depositada en febrero de 1968. Los rumores apuntan a que Ritchie se negó a pagar la encuadernación de la tesis, requisito de Harvard para su depósito y la expedición del título de doctor. Resulta extraño, pues no tenía problemas económicos, ya que trabajaba para los Bell Labs (donde también trabajaba su padre). Quizás solo fuese una excentricidad de un genio. La tesis estudia el lenguaje LOOP, demostrando que su potencia computacional es equivalente a las funciones recursivas primitivas (un subconjunto de las funciones μ-recursivas, que son equivalentes al lenguaje WHILE, que cumple con la tesis de Church–Turing). Su aporte más relevante es estudiar la complejidad computacional de los algoritmos en LOOP, demostrando que depende del máximo número de bucles (loops) anidados. La tesis se basa en un trabajo previo de Meyer, cuya tesis también fue supervisada por Fischer, Albert R. Meyer, «Depth of nesting and the Grzegorczyk hierarchy,» Notices of the American Mathematical Society 13: 622-656 (1965); por ello, la tesis dio lugar a dos artículos junto a él, Albert R. Meyer, Dennis M. Ritchie, «The complexity of loop programs,» ACM ’67: Proceedings of the 1967 22nd national conference, 465–469 (01 Jan 1967), doi: https://doi.org/10.1145/800196.806014; y Albert R. Meyer,  Dennis M. Ritchie, «A Classification of the Recursive Functions,» Mathematical Logic Quarterly 18: 71-82 (1972), doi: https://doi.org/10.1002/malq.19720180405.

La tesis de Ritchie está repleta de fórmulas matemáticas con una tipografía de calidad exquisita, mucho más allá de lo habitual en enero de 1968. Todo indica que fue mecanografiada a doble espacio con una máquina de IBM que permite 12 caracteres por pulgada en horizontal y 6 líneas en vertical por pulgada; algunas máquinas permitían escribir hasta 12 caracteres por pulgada en vertical (half-spacing), lo que facilita la inclusión de superíndices y subíndices.  Además, se usó una máquina que permite cambiar de cabezal, para facilitar el uso de varios tipos de letra (fonts). A pesar de ello, la gran precisión con la que están colocados los caracteres y la mezcla de tipos de letra en las fórmulas muestra un trabajo exquisito que muy pocos mecanógrafos profesionales eran capaces de lograr sin errores. Viniendo de un genio de la informática se podría pensar que fue realizada con un software similar a troff y eqn para UNIX (pero troff nació en 1972 y eqn en 1974); pero no hay nada que apoye esta conjetura.

Lo que más me sorprende de la tesis es el espaciado en horizontal a 1/24 pulgadas que se observa en los símbolos «+» en algunos superíndices y en el alineamiento vertical de las etiquetas de las listas con números romanos (ilustrados a la derecha en la figura). Ninguna máquina de escribir disponible en 1968 tenía un mecanismo para realizar estas virguerías; la única opción en aquella época era realizar un desplazamiento del papel a mano, algo que raya lo imposible dado la gran precisión observada en la tesis. Nadie sabe cómo se realizó tal hazaña en 1968 (incluso con los software troff, eqn, tbl y pic no fue posible hacerlo hasta 1985). Me atrevo a conjeturar que solo una persona con una mente cuadriculada y obsesiva, detallista hasta lo inconcebible, como la tuvo que poseer Ritchie, pudo realizar tal trabajo de precisión mecanográfica extrema. Pero, ¿por qué dedicó tanto esfuerzo a la mecanografía de la tesis si al final ni siquiera la depositó?

La tesis de Ritchie está rodeada de muchas incógnitas. Con esta pieza solo quería reclamar tu atención sobre este asunto tan curioso en la historia de la informática. Si lo he logrado, y te apetece profundizar un poco más, te recomiendo disfrutar del artículo de David F. Brailsford,  Brian W. Kernighan, William A. Ritchie, «How did Dennis Ritchie produce his PhD thesis? A typographical mystery,» Proceedings of the 22nd ACM Symposium on Document Engineering (DocEng ’22), 2: 1-10 (18 Nov 2022), doi: https://doi.org/10.1145/3558100.3563839; y de la fascinante descripción, decorada con increíbles ilustraciones, de Kelly Miele, «Anatomy of a Thesis,» Dennis Ritchie Thesis, 21 Apr 2021 [web].



6 Comentarios

  1. Fascinante.
    También he leído con interés la descripción de Miele y sus mil ilustraciones, brutal.
    Dices, Francis, que la combinación troff, eqn, tbl y pic permitía hacer estas viguerías en 1985, pero TeX estaba ya disponible en 1978 (aunque fue TeX82 la versión más usable) y LaTeX en 1984.
    Repito, fascinante.

    Juan Carlos—

    1. Cierto, Juan Carlos, pero TeX no estaba concebido para ser usado con máquinas de escribir eléctricas, o con impresores de rueda de margarita. La fecha 1985 está extraída de Brailsford et al. «Any attempt at early restoration, in the period from 1968 to 1985, would have had to use the newly developed tools such as troff, eqn, tbl and pic to confect a version of the document that was suitable for an electromechanical device such as a daisywheel printer. [It] was not until the mid-1980s that economical laser printers at decent resolution became widely available.»

      1. Ya veo.
        Aunque resulta verosímil haber hecho un driver de formato DVI a máquina de escribir con rueda de margarita. Las más avanzadas permitían ser operadas por RS-232 o semejante 🌼

        Juan Carlos—

  2. Podía ser así? Con esto ya hacíamos virguerías hace tiempo, porque cambiabas las bolas y seguro que además de haberlas muy específicas (distintos tipos, etc) las podías apañar un poco: https://en.wikipedia.org/wiki/IBM_Selectric.

    En mi tesis (ya con ordenador Olivetti e impresora de margarita) paraba la impresión cuando empezaba a tirar la raya de las notas al pie y cambiaba la margarita/bola por otra de cuerpo más pequeño para que continuara hasta el final … y así para cada página.

Deja un comentario