
Anni fa mi capitò di leggere un romanzo di Samuel Delany chiamato
Babel 17 dove si ipotizzava un
linguaggio artificiale, chiamato per l'appunto Babel 17, privo del pronome
io, usato per modificare il comportamento di coloro che lo parlano (e quindi che lo usano per pensare). Libro curioso, senz'altro, che fa riflettere sul legame fra lingua e pensiero, cioè fra il pensiero e lo strumento che ci consente di esprimerlo. Al di là del romanzo, che comunque consiglio a chiunque ami la fantascienza tradizionale e che, del resto, non per niente a suo tempo ha vinto un premio nebula, pensando al legame fra linguaggio e pensiero mi è capitato di fare alcune riflessioni sulla programmazione ad oggetti ed i linguaggi
naturali usati dai programmatori:
Chiunque abbia approcciato la programmazione ad oggetti si sarà reso conto sicuramente della differenza fondamentale che passa fra l'essere e l'avere. Essere significa sostanzialmente ereditare da una classe genitrice metodi e proprietà. Avere significa possedere l'istanza di un oggetto. Certo, dal punto di vista pratico molte volte può esserci una sovrapposizione fra le due cose ma basta un po' di esperienza pratica per rendersi conto che sbagliare l'impostazione iniziale durante il progetto di una classe, se anche non crea problemi immediati, molto probabilmente ne creerà in futuro. Non è un caso, del resto, se in italiano
abbiamo due differenti ausiliari, essere ed avere, il cui uso è perfettamente delimitato. Il ruolo attivo dell'ausiliario avere ed
il ruolo passivo dell'ausiliario essere, sia pure a livello subconscio, ci sono perfettamente chiari e difficilmente sbagliamo verbo. Questo vale per l'italiano, per il francese e per le lingue germaniche, ma non vale per spagnolo ed inglese dove la semplificazione ha portato a rinunciare ad un ausiliario mantenendo il solo verbo avere.
La forte analogia fra la passività dell'ausiliario essere di fronte al ruolo attivo del'ausiliario avere e l'essere una classe, che assume così un ruolo passivo lasciando che metodi e proprietà ereditati possano essere manipolati dall'esterno, ed avere una classe operando noi sui metodi e sui dati della stessa non è casuale. Dopo tutto i linguaggi di programmazione sono una interfaccia fra una cruda lista di istruzioni matematiche ed il pensiero dell'uomo, ed il pensiero dell'uomo è molto influenzato dal suo linguaggio. In particolare la programmazione ad oggetti è nata con Simula, sviluppato in Norvegia, ed i norvegesi, esattamente come i tedeschi, fanno distinzione fra i due ausiliari essere ed avere.

Ed allora, i poveri inglesi, gli spagnoli, gli americani e, più in generale, tutti quelli che parlano una lingua che non fa questa distinzione? Saranno sempre destinati a fare confusione fra l'essere e l'avere? Ecco, sarebbe interessante, molto interessante secondo me, uno studio che verifichi l'incidenza statistica degli errori di impostazione delle classi fra i programmatori di lingua anglo/ispanica e quelli di lingua italo/franco/germanica.
Chissà che alla fine non si scopra che questo benedetto inglese, che tutti pretendono essere la lingua franca della comunità scientifica internazionale, è in realtà un linguaggio inadeguato ad esprimere concetti sofisticati e sottili e che
magari l'insegnamento del latino, con la sua rigidità di distinzione fra i casi, aiuta a formare processi mentali ben più precisi ed esatti di quelli che si possono concepire in qualsiasi altra lingua.
Nessun commento:
Posta un commento