Für mich ist dies rein aus Marketinggründen . Und kann unser Leben zusätzlich erschweren.
Die Marketingargumente
Sie kennen diese verrückten Listen von Funktionen, die die meisten Sprachen bieten? Es ist im Allgemeinen ziemlich nutzlos, weil es so weit von der Sprache entfernt ist, dass es nicht viele Informationen zu bestimmten Themen liefert, aber es erlaubt, Tabellen schnell mit Häkchen und Kreuzen zu versehen und zu Recht zu folgern, dass X mehr Häkchen als Y hat sei besser.
Nun, Unicode-Unterstützung für die Bezeichner ist eine dieser Zeilen. Es spielt keine Rolle, dass im Vergleich zu Lambda-Unterstützung, generischer Programmierunterstützung usw. nicht viel dabei ist. Die Leute, die die Tabellen zeichnen, kümmern sich nicht um die Qualität jeder Zeile, sondern nur um die Anzahl der Zeilen.
Und so können sie sich rühmen: "Ah, mit Y haben Sie keine Unicode-Unterstützung für Ihre Bezeichner! In X tun wir das, für Studenten ist es also viel einfacher!"
Der Irrtum der Zugänglichkeit
Leider ist das Argument der Zugänglichkeit trügerisch.
Oh, ich verstehe, dass die Möglichkeit, "résultatDuJetDeDé" anstelle von "diceThrowResult" (ja, ich bin Franzose) zu schreiben, auf kurze Sicht wie ein Gewinn erscheinen könnte ... es gibt jedoch Nachteile!
Beim Programmieren geht es um Kommunikation
Ihr Programm ist nicht nur für den Compiler gedacht (was sich weniger um die von Ihnen verwendeten Bezeichner kümmern könnte), sondern auch für Ihre Kollegen. Sie müssen es lesen und verstehen können.
- Wenn Sie es lesen, müssen Sie in der Lage sein, die von Ihnen verwendeten Zeichen zu visualisieren. Unicode wird nicht von allen Schriftarten so gut unterstützt
- Wenn Sie das verstehen, müssen Sie sich auf Bezeichner verlassen - es sei denn, Sie ergänzen sie mit langen Kommentaren, was jedoch gegen die DRY-Regel verstößt.
Natürlich kann Ihr Klassenkamerad die Sprache sprechen, die Sie sprechen (nicht selbstverständlich, ich hatte Programmierunterricht mit Deutschen, Spaniern, Libanesen und Chinesen), und Ihr Lehrer auch ... aber nehmen Sie an, dass Sie zu Hause daran arbeiten und Brauche plötzlich Hilfe: Das Internet ist großartig. Sie können mit Tausenden von Menschen sprechen, die die Lösung kennen. Sie werden nur antworten, wenn sie Ihre Frage verstehen. Und Sie müssen auch ihre Antwort verstehen.
Programmierung erfordert Verständnis
Für die Zugänglichkeit und den Einstieg müssen Sie sich auf Bibliotheken stützen, um das Heavy-Lifting für Sie durchzuführen: Sie möchten keine E / A-Schicht neu erfinden, um bei Ihrer ersten Aufgabe von der Konsole zu lesen / auf die Konsole zu schreiben.
- In welcher Sprache sind diese Bibliotheken geschrieben?
- In welcher Sprache sind diese Bibliotheken dokumentiert?
Wenn Sie Marokkanisch-Arabisch antworten, werde ich überrascht sein.
Es sei denn , Sie nur auf die Vorträge verlassen unterstützen Sie, und die Anwesenden umfangreiche Dokumentation zu jeder Bibliothek - Funktion werden Sie verwenden müssen (und vielleicht sogar übersetzt Bibliotheken), dann Sie werden eine modicrum der englischen Sprache zu lernen. Aber wahrscheinlich haben Sie das schon lange vor Beginn dieses Programmierkurses getan.
Englisch ist...
... die Verkehrssprache der Programmierer (und der meisten Wissenschaftler).
Je eher man es zugibt und damit einhergeht, anstatt dagegen zu kämpfen, desto eher kann man wirklich lernen und Fortschritte machen.
Einige werden sich unweigerlich dagegen aussprechen und ihr Recht verteidigen, die Sprache ihrer Wahl zu sprechen (normalerweise ihre Muttersprache). Wie Babel jedoch gezeigt hat, wird die Kommunikation umso schwieriger, je mehr Sprachen verwendet werden.
Immer noch...
Ja, wie immer wieder argumentiert wurde, kann eine gewisse Unicode-Unterstützung (hauptsächlich Symbole) das Verständnis für Menschen, die beispielsweise mathematische oder physikalische Formeln in Code übersetzen müssen, erheblich erleichtern. Es gibt den Nachteil, dass einige Symbole überladen sind, aber es könnte trotzdem helfen.
Warum also ?
Wie gesagt, es geht nicht wirklich um Benutzerfreundlichkeit, sondern vielmehr um Marketingansprüche. Es ist auch kinderleicht, da der Parser bereits Unicode-fähig ist und trotzdem Zeichenfolgen und Kommentare enthält.
Und für bestimmte Benutzer kann dies von Vorteil sein.
Ich persönlich werde mich jedoch nur mit Code befassen, der mit englischen Bezeichnern geschrieben wurde. Es ist mir egal, ob Sie meine Hilfe bei Ihrem Code benötigen oder ob Ihre Bibliothek einfach nur großartig ist und ich viel davon profitieren könnte: Wenn ich es nicht verstehe, muss ich es einfach ignorieren.