Wikinventia — Atlas de descubrimientos e inventos · Era de la comunicación

Tipos de datos abstractos (lenguaje CLU) y principio de sustitución — Barbara Liskov

1974 d.C. · Transmisión: Global
ComputaciónMétodoNorteamericana

Barbara Liskov, en el MIT, diseña en 1974 el lenguaje de programación CLU, que introduce de forma rigurosa el concepto de "tipo de dato abstracto": una forma de organizar el código en la que los detalles internos de cómo se implementa una estructura de datos quedan completamente ocultos para el resto del programa, que solo puede interactuar con ella a través de un conjunto definido de operaciones públicas. Esta separación entre la interfaz pública de un componente y los detalles internos de su implementación, hoy conocida como "encapsulación", se convierte en principio fundacional de la programación orientada a objetos, presente en lenguajes posteriores como C++, Java o Python. Liskov formula además en 1987, junto con Jeannette Wing, el "principio de sustitución de Liskov": una regla formal que establece exactamente bajo qué condiciones un tipo de dato puede sustituir a otro de forma segura dentro de un programa sin alterar su comportamiento correcto —por ejemplo, determinando con precisión matemática cuándo es seguro tratar un "cuadrado" como caso particular de "rectángulo" en un programa, y cuándo esa relación produce errores sutiles—. El principio se convierte en uno de los cinco principios fundamentales de diseño orientado a objetos (los principios SOLID), enseñados de forma estándar en cualquier formación moderna de ingeniería de software.

InstituciónMIT
Región históricaEE.UU.
Fuente primariaLiskov, B.H. & Zilles, S.N. — "Programming with Abstract Data Types" (ACM SIGPLAN Notices, 9:4, 50–59, 1974). DOI: 10.1145/942572.807045
Fuente secundariaTuring Award 2008 — Press release (amturing.acm.org)
Lengua originalinglés
Ver esta entrada en el atlas interactivo → Ver en el grafo →