mercoledì 3 giugno 2015

Essere o avere, questo è il problema

Risultati immagini per babel-17   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: 
Risultati immagini per essere o avere   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.
Risultati immagini per essere o 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