El pionero de la programación orientada a objetos llega a GitHub • The Register

Fans retro, ¡regocíjense! Un poco de arqueología digital ha creado una versión inicial funcional del lenguaje de programación CLU y los archivos necesarios para crearla se cargan en GitHub. Descubierta por Lars Brinkhof, la implementación (con archivos en su mayoría de 1976-1978) es una visión intrigante de los conceptos de programación orientada a objetos y otras ideas que encontraron el favor de los lenguajes de programación posteriores. En una historia del idioma [FTP PostScript file] su creadora, la ganadora del premio Turing y profesora del MIT Barbara Liskov, señaló que era “el primer lenguaje de programación implementado que proporciona soporte lingüístico directo para la abstracción de datos”. Vídeo de Youtube “Una abstracción de datos”, explicó Liskov, “es un conjunto de objetos y operaciones”. Los programas que accedían a los objetos lo hacían a través de operaciones que proporcionaban un medio para observar y modificar el estado del objeto. El resumen de datos fue implementado por un “grupo”, que contenía tanto la descripción como la implementación de las operaciones. De ahí el nombre “CLU” (en lugar de Codified Likeness Utility de la película Tron de Disney de 1982). Liskov, que es responsable del principio de sustitución de Liskov y también es elogiada por su trabajo en la heurística asesina de la programación de ajedrez, calculó que se gastaron alrededor de 14 años-persona en CLU desde los primeros diseños en 1973 hasta el compilador de producción en 1980, con la mayor parte de el trabajo realizado por ella y sus alumnos hasta 1978. Se ha dicho que CLU sentó las bases para lenguajes como Java y C #. Sin embargo, a pesar de su innovación, el lenguaje no fue el éxito rotundo que quizás debería haber sido. Liskov citó un enfoque en el rendimiento sobre la portabilidad que dificultaba la transferencia del lenguaje a otro hardware. No se promovió ni se entregó a un proveedor para la producción y “tomamos una serie de decisiones que se derivaron de nuestra visión de CLU como un vehículo de investigación, pero que hicieron muy poco probable que CLU tuviera éxito en el mercado”. Aún así, estamos encantados de ver aparecer el compilador gracias a Brinkhoff, aunque necesitará un PDP-10 (o probablemente un emulador) para ejecutarlo. Brinkhoff dijo a The Register: “Para mí, esto es parte de mi interés continuo en restaurar y revivir ITS, el legendario sistema de tiempo compartido incompatible del MIT”. Cuando era joven, me sentí profundamente impresionado al leer Hacker’s Dictionary, un libro del hacker de ITS, el gurú de Lisp, y el diseñador de lenguajes de programación Guy Steele. Mi investigación finalmente me llevó al archivo del MIT de cintas PDP-10 llamado ‘ToTS’ – Tapes of Tech Square. No está abierto al público, pero el MIT amablemente me permitió el acceso. De vez en cuando, sugeriré al personal del MIT varios conjuntos de archivos interesantes para hacerlos públicos. “” Me parece fascinante “, agregó,” que los programas antiguos puedan desenterrarse y funcionar perfectamente bien incluso hoy. “Quizás algún día los historiadores del futuro encontrarán útil examinar estos viejos artefactos”. O quizás los del presente. Hay muchas lecciones para los diseñadores de los lenguajes de hoy que pueden extraerse del trabajo realizado décadas antes. ®

Ir arriba