Per quanto mi riguarda, ciò è puramente per ragioni di marketing . E inoltre potrebbe rendere le nostre vite più difficili.
Gli argomenti di marketing
Conosci questo folle elenco di funzionalità di cui la maggior parte delle lingue si vanta? È praticamente inutile in generale, perché è così lontano dal linguaggio che non fornisce molte informazioni su specifici, ma consente di vestire rapidamente le tabelle con tick e croci e giustamente concludere che poiché X ha più tick di Y, deve essere migliore.
Bene, il supporto Unicode per gli identificatori è una di quelle righe. Non importa che rispetto al supporto Lambda, supporto alla programmazione generica, ecc ... potrebbe non essere molto, le persone che disegnano i tavoli non si preoccupano della qualità di ogni linea, ma solo del numero di esse.
E così 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 dell'accessibilità
Sfortunatamente, l'argomento dell'accessibilità è fallace.
Oh, capisco che poter scrivere "résultatDuJetDeDé" anziché "diceThrowResult" (sì, sono francese) potrebbe 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 meno agli identificatori che usi), ma è anche pensato per i tuoi compagni. Devono essere in grado di leggerlo e capirlo.
- leggerlo implica essere in grado di visualizzare i caratteri che hai usato, Unicode non è così ben supportato da tutti i caratteri
- capirlo significa fare affidamento sugli identificatori, a meno che non li si integri con commenti lunghi, ma ciò viola la regola DRY.
Certo, il tuo compagno di classe può parlare la stessa lingua che conosci (non ovvio, ho avuto lezioni di programmazione con tedeschi, spagnoli, libanesi e cinesi), e così può il tuo insegnante ... ma supponi che in qualche modo ci stai lavorando a casa e improvvisamente hai bisogno di aiuto: Internet è fantastico, puoi parlare con migliaia di migliaia di persone che conoscono la soluzione, risponderanno solo se capiscono la tua domanda. E devi anche capire la loro risposta.
La programmazione richiede comprensione
L'accessibilità e l'iniziazione richiedono di basarsi sulle librerie per fare il lavoro pesante per te: non vuoi reinventare un livello IO per leggere / scrivere sulla console al tuo primo incarico.
- In quale lingua sono scritte quelle biblioteche?
- In quale lingua sono documentate quelle biblioteche?
Se rispondi all'arabo marocchino, rimarrò sorpreso.
A meno che non solo contare sulle lezioni si assiste a, e quelli presenti una documentazione completa su ogni funzione di libreria è necessario l'uso (e forse anche le librerie tradotti), allora si dovrà imparare un modicrum della lingua inglese. Ma poi, probabilmente hai già fatto molto prima di iniziare questo corso di programmazione.
L'inglese è...
... la lingua franca dei programmatori (e della maggior parte degli scienziati).
Prima lo ammetti e lo segue piuttosto che combatterlo, prima può davvero imparare e progredire.
Alcuni inevitabilmente si opporranno a questo, e giustamente difenderanno il loro diritto di parlare la lingua di loro scelta (la loro lingua materna di solito), tuttavia, come dimostrò Babele, più lingue vengono utilizzate, più diventa difficile la comunicazione.
Ancora...
Sì, come è stato ribadito più volte, alcuni supporti Unicode (principalmente simboli) possono facilitare notevolmente la comprensione per le persone che devono tradurre formule matematiche o fisiche, ad esempio, in codice. Lo svantaggio è che alcuni simboli sono sovraccarichi, ma potrebbe comunque aiutare.
Allora perchè?
Bene, come detto, non si tratta in realtà della praticità dell'utente, quanto delle rivendicazioni di marketing. È anche facile, dato che il parser è già Unicode consapevole di stringhe e commenti, quindi la maggior parte fa il salto.
E potrebbe esserci un vantaggio per alcuni utenti.
Personalmente mi occuperò solo del codice scritto con identificatori inglesi. Non mi importa se hai bisogno del mio aiuto con il tuo pezzo di codice o se la tua libreria è semplicemente fantastica e potrei guadagnare molto usandolo: se non riesco a capirlo, dovrò semplicemente ignorarlo.