A Luta Elegante: Projetando Membros Públicos/Privados em uma Linguagem de Script

2025-05-26

Um desenvolvedor, construindo um projeto de console de fantasia, luta para adicionar um sistema de módulos à sua linguagem de script. Explorando várias abordagens para distinguir declarações públicas e privadas - palavras-chave modificadoras (como `public` e `private` do Java), seções modificadoras (como C++), símbolos em identificadores (como o sublinhado do Python), manifestos de exportação (como Scheme) e símbolos em declarações (como `*` do Oberon) - eles se inclinam para uma solução nova: prefixar palavras-chave de declaração com um sublinhado (por exemplo, `rec_` para registros privados, `def_` para funções privadas). Embora não convencional, este método oferece concisão e evita a repetição de símbolos em cada local de uso.

Desenvolvimento sistema de módulos