Per quanto mi riguarda, questo è puramente per ragioni di marketing . E inoltre potrebbe rendere le nostre vite più difficili.
Gli argomenti di marketing
Conosci questo elenco pazzesco di funzionalità che la maggior parte delle lingue si vanta? È praticamente inutile in generale, perché è così lontano dal linguaggio che non fornisce molte informazioni specifiche, ma consente di vestire rapidamente tabelle con tick e croci e giustamente concludere che, poiché X ha più tick di Y, deve stai meglio.
Bene, il supporto Unicode per gli identificatori è una di quelle linee. Non importa che rispetto al supporto Lambda, al supporto di programmazione generico, ecc ... potrebbe non essere molto, le persone che disegnano le tabelle non si preoccupano della qualità di ciascuna linea, solo del numero di esse.
E quindi possono vantarsi: "Ah, con Y non hai il supporto Unicode per i tuoi identificatori! In X lo facciamo, quindi per gli studenti è molto più facile!"
L'errore di accessibilità
Sfortunatamente, l'argomento dell'accessibilità è fallace.
Oh, capisco che essere in grado di scrivere "résultatDuJetDeDé" invece di "diceThrowResult" (sì, sono francese) possa sembrare una vittoria a breve termine ... tuttavia ci sono degli svantaggi!
La programmazione riguarda la comunicazione
Il tuo programma non è pensato solo per il compilatore (che potrebbe interessare di meno degli identificatori che usi), è anche pensato per i tuoi compagni. Devono essere in grado di leggerlo e comprenderlo.
- la lettura implica la possibilità di visualizzare i caratteri che hai usato, Unicode non è così ben supportato da tutti i tipi di carattere
- capirlo significa fare affidamento sugli identificatori, a meno che non li completi con commenti lenghty, ma ciò sta violando la regola DRY.
Naturalmente, il tuo compagno di classe potrebbe parlare la stessa lingua che fai (non ovvio, ho avuto lezioni di programmazione con tedeschi, spagnoli, libanesi e cinesi), e così pure il tuo insegnante ... ma supponi che in qualche modo ci stai lavorando a casa e improvvisamente hanno bisogno di aiuto: Internet è grande, puoi parlare a migliaia di persone che conoscono la soluzione, risponderanno solo se capiscono la tua domanda. E tu devi capire anche la loro risposta.
La programmazione richiede comprensione
L'accessibilità e l'iniziazione richiedono di basarsi sulle librerie per eseguire il sollevamento pesi: non si desidera reinventare un livello IO per leggere / scrivere sulla console al primo incarico.
- In quale lingua sono scritte queste librerie?
- In quale lingua sono documentate queste librerie?
Se rispondi all'arabo marocchino, sarò sorpreso.
A meno che tu non faccia affidamento solo sulle lezioni alle quali ti assisti e su quelle presenti una documentazione completa su ogni funzione di libreria che dovrai usare (e forse anche le librerie tradotte), allora vorrà imparare un modicrum della lingua inglese. Ma probabilmente hai già fatto molto prima di iniziare questo corso di programmazione.
L'inglese è ...
... la lingua franca dei programmatori (e di molti scienziati).
Prima lo ammette, e lo segue piuttosto che lottare contro di esso, prima puoi veramente imparare e progredire.
Alcuni inevitabilmente si oppongono a questo, e difendono giustamente il loro diritto a parlare la lingua di loro scelta (la loro lingua materna di solito), tuttavia, come ha dimostrato Babel, più le lingue vengono utilizzate, più la comunicazione diventa difficile.
Still ...
Sì, come è stato sostenuto più volte, alcuni supporti Unicode (principalmente simboli) possono facilitare notevolmente la comprensione per le persone che devono tradurre le formule matematiche o fisiche, ad esempio, in codice. C'è l'inconveniente che alcuni simboli sono sovraccaricati, ma potrebbe ancora aiutare.
Allora perché?
Bene, come detto, non si tratta in realtà della comodità dell'utente, tanto quanto delle dichiarazioni di marketing. È anche facile, dal momento che il parser è già in grado di riconoscere Unicode per stringhe e commenti, quindi la maggior parte prenda il salto.
E potrebbe esserci un vantaggio per alcuni utenti.
Ma personalmente mi occuperò solo del codice scritto con identificatori inglesi. Non mi interessa se hai bisogno del mio aiuto con il tuo codice o se la tua libreria è semplicemente fantastica e potrei guadagnare molto usandola: se non riesco a capirlo, dovrò semplicemente ignorarla.