A questão
Quais são as origens do paradigma de função pública / privada?
fundo
Surgiu uma pergunta no bate-papo sobre arquivos de cabeçalho em C, e seu uso era principalmente para ajudar o compilador, não o programador. Entendo, porém, que este é o primeiro uso do conceito de funções "Privadas", ou funções que não são prototipadas no arquivo de cabeçalho. Se o C não tivesse usado arquivos de cabeçalho para declarar funções, ainda teríamos o conceito atual de funções públicas e privadas, como visto em C # ou Java? Ou esse conceito foi desenvolvido inicialmente em outro lugar e simplesmente implementado no esquema C Header / Source
Penso que a ideia de tornar partes do seu código privadas tem raízes que vão mais longe do que o Simula. Scheme (1975) foi o primeiro idioma a implementar fechamentos, o que lhe dá a possibilidade de encapsular dados como lambdas. O esquema também permite especificar funções internas usando a palavra-chave define.
Tornar as funções privadas permite que mais abstração seja incorporada a um programa. A construção de abstrações em programas tem uma longa história, com linguagens variantes do LISP, como Scheme, contribuindo muito para o desenvolvimento de linguagens de programação modernas.
Estrutura e interpretação de programas de computador de Abelson, Sussman é um excelente livro para aprender mais sobre abstrações se você estiver interessado nessas coisas.
fonte