La pregunta
¿Cuáles son los orígenes del paradigma de la función pública / privada?
Antecedentes
En el chat surgió una pregunta sobre los archivos de encabezado en C, y su uso es principalmente para ayudar al compilador, no al programador. Sin embargo, entiendo que este es el primer uso del concepto de funciones "privadas", o funciones que no están prototipadas en el archivo de encabezado. Si C no hubiera utilizado archivos de encabezado para declarar funciones, ¿seguiríamos teniendo el concepto actual de funciones públicas y privadas como se ve en C # o Java? ¿O este concepto se desarrolló inicialmente en otro lugar y simplemente se implementó en el esquema C Header / Source?
Creo que la idea de hacer que partes de su código sean privadas tiene raíces que se remontan a Simula. Scheme (1975) fue el primer lenguaje en implementar cierres, lo que le brinda la posibilidad de encapsular datos como lambdas. El esquema también le permite especificar funciones internas utilizando la palabra clave define.
Hacer que las funciones sean privadas permite que se incorpore más abstracción en un programa. La creación de abstracciones en los programas tiene una larga historia, con lenguajes variantes LISP como Scheme que contribuyen mucho al desarrollo de lenguajes de programación modernos.
Estructura e interpretación de programas de computadora por Abelson, Sussman es un excelente libro para aprender más sobre abstracciones si está interesado en esas cosas.
fuente