La programación orientada a objetos no se basa en conocimientos matemáticos, sino en las ideas del lenguaje de programación Simula desarrollado en la década de 1960 en el Centro Noruego de Computación por Ole-Johan Dahl y Kristen Nygaard. La intención detrás de Simula era (como su nombre lo indica) crear un lenguaje de programación que permitiera describir la solución a un problema mediante un “modelo físico” (aunque no en el sentido de la física). No había un modelo matemático subyacente de Simula (a pesar de que Dahl y Nygaard eran matemáticos); Esto probablemente también se deba al hecho de que la semántica del lenguaje de programación todavía estaba en sus primeras etapas en ese momento.
Ha habido mucho trabajo tratando de proporcionar lenguajes de programación orientados a objetos con una buena base matemática. Martín Abadi y Luca Cardelli hicieron un intento muy ambicioso en la década de 1990 y lo describieron en una serie de documentos que más tarde se convirtieron en el libro A Theory of Objects. La idea es idear una familia de cálculos de objetos cada vez más expresivos que estén equipados con sistemas de tipos cada vez más expresivos. Cada cálculo de objeto tiene entre sus pocas primitivas sintácticas la capacidad de definir objetos como una colección de métodos (los campos se ven como un caso particular), la capacidad de modificar y extender objetos y, por supuesto, también la capacidad de llamar a los métodos de un objeto.
- Cómo ser bueno en matemáticas para la programación competitiva
- Cómo probar o refutar [math] \ log (n!) \ In \ Theta (n ^ 2) [/ math] en notación asintótica
- ¿Por qué este programa da '0' como salida?
- ¿Debo continuar las matemáticas con la ciencia actuarial o cambiar a la informática y por qué?
- ¿Cuál es la mejor manera de aprender Haskell como alguien con una sólida formación matemática pura?