мне, кстати, лень искать, упоминал я тут или нет, но я убрал из компилятора и ядра возможность использовать не-аски в идентификаторах и именах модулей.
rationale: просто представьте код, где все имена в эмоджи. ;-)
а если более серьёзно, то я абсолютно уверен, что весь код (включая комментарии) должен быть на английском. я, видите ли, космополит, и считаю, что код должен быть понятен не только автору — носителю языка. ну, по возможности, гыг. а язык, который худо-бедно, но понимают во всём мире — английский. исходя из этого убеждения — никакого смысла в не-аски идентификаторах попросту нет. а, значит, в соответствии с духом оберона: ненужное ненужно, выкидываем лишний код.
для всякого рода учебных сборок всё ещё можно использовать on-the-fly траслятор по типу того, который сделал Фёдор Васильевич; а в остальном коде — извольте нормально. если бы ещё можно было показывать ошибки, когда русские слова транслитом в коде — я бы и это впилил. ;-)
возражения о том, что «на родном языке-то удобней!» я отметаю как несущественные: если вы занимаетесь хоть чем-то сложнее приветмира раз в год, то вы уже знаете технический английский (а если нет — то мневасжаль). просто приучите себя к нормальным именам идентификаторов так же, как приучили себя делать правильные отступы.
p.s.: юникод дрянь, утф тоже дрянь (хоть и отлично сдизайненая, но по наследству от юникода). лично у меня вообще системная локаль — KOI-8 (о чём особо любопытные могут догадаться, глянув в исходники LC, и обнаружив там в стратегических местах детект этой системной локали, и инструменты в Strings для конвертации koi↔ucs).
p.p.s.: рисовалка буков в LC и юникод немножко дискриминирует: там довольно ограниченый набор того, что она считает printable, а всё остальное (включая всякую комбинаторную диакритику) рисуется как «неизвестный глиф» (квадратик, вопросик). да, ударение тоже поставить нельзя. потому что.
|