Crítica à tolice da programação em linguagem natural
- Desde os primórdios das calculadoras automáticas, sempre houve pessoas insatisfeitas com a programação que exige um sistema formal de símbolos
- A máquina, como um "escravo fiel" que executa exatamente as instruções dadas, também executa erros evidentes sem questionar
- Algumas pessoas esperavam que, em vez de ignorar erros e seguir executando, a máquina agisse de forma mais "racional"
Surgimento e evolução das linguagens de programação de alto nível
- A linguagem de máquina era vista como uma interface perigosa, com pouca detecção de erros e quase nenhuma redundância
- Como resposta, surgiram as linguagens de programação de alto nível, com avanços que evitavam resultados incorretos por meio de mensagens de erro
- Ainda assim, programar continua exigindo símbolos formais e um alto grau de precisão cuidadosa
A proposta de programar em linguagem natural e a contestação a ela
- Havia quem defendesse que controlar máquinas em linguagem natural tornaria a vida do usuário mais fácil
- A ideia era que, à medida que as máquinas ficassem mais complexas, isso poderia ajudar o usuário
- Porém, mudar a interface não redistribui o trabalho; ao contrário, acrescenta ainda mais carga de cooperação e comunicação
- Na prática, quanto mais ampla a interface, maior tende a ser a carga de trabalho de ambos os lados, tornando tudo mais complexo
Exemplos históricos da matemática e dos sistemas simbólicos
- A matemática da Grécia Antiga permaneceu presa a métodos centrados em linguagem e figuras, o que estagnou seu desenvolvimento
- A matemática islâmica também foi interrompida por não adotar um sistema simbólico
- A Europa deu um salto extraordinário quando figuras como Vieta, Descartes, Leibniz e Boole introduziram sistemas formais de símbolos
Vantagens da linguagem formal e limites da linguagem natural
- Uma linguagem formal pode evitar muitos erros com apenas algumas regras simples
- Símbolos formais permitem que estudantes realizem raciocínios lógicos que antes só gênios conseguiam fazer
- A linguagem natural é ambígua e facilmente se mistura com palavras sem sentido, o que a torna inadequada para expressões lógicas sem erro
E se a linguagem natural tivesse sido o único meio de entrada e saída?
- Se desde o início tivéssemos controlado máquinas apenas com linguagem natural, acabaríamos precisando de um processo de "bootstrap" para voltar outra vez a um sistema formal
- Esse processo poderia levar milhares de anos e, no fim, ainda resultaria em uma linguagem formal
Retrocesso educacional e o fenômeno do "novo analfabetismo"
- Nas últimas décadas, o enfraquecimento do treinamento intelectual fez com que muitas pessoas não conseguissem lidar adequadamente nem com a própria língua materna
- A abundância de palavras sem sentido em artigos científicos, relatórios técnicos e documentos governamentais prova isso
- Esse fenômeno leva a prever o fracasso da programação em linguagem natural
Intuição conclusiva
- Construir uma máquina programável em linguagem natural seria tão difícil quanto usá-la
1 comentários
Comentários do Hacker News
Há quem ache interessante defender LLMs (grandes modelos de linguagem)
Vem à mente uma citação antiga de Hal Abelson
A linguagem natural tem limitações decorrentes das limitações mentais humanas
Linguagem de máquina é vista como uma interface desnecessariamente perigosa
Em vez de gerar programas de computador em linguagem natural, eles deveriam ser executados diretamente
Linguagem natural não é adequada para transmitir regras e instruções
Linguagens voltadas a domínios específicos oferecem precisão e clareza que a linguagem natural não consegue fornecer
Forth, PostScript e Assembly são linguagens de programação "naturais" por combinarem bem com o ambiente de execução do código
Métodos de programação de alto nível começarão a se parecer mais com linguagens de programação do que com linguagem natural
O fato de erros aparecerem como mensagens de erro é uma grande melhoria