Здравствуйте, Lexey, Вы писали:
L>Здравствуйте, Sinix, Вы писали:
S>>Очередная статья от Джона Скита о тяжёлой жизни юникода в дотнете.
S>>достаточно, чтобы понять: читать стоит
L>По-моему, в данном случае народ какой-то херней страдает. Кому в здравом уме придет в голову использовать такие символы в идентификаторах?
Мб обфускатору?
Re: [Ann] When is an identifier not an identifier?
S>достаточно, чтобы понять: читать стоит
Имхо, это пример того, куда ведут вымощенные благими намерениями дороги.
Кто-то пятнадцать лет назад спросил "А почему бы нам не разрешать юникод в идентификаторах?", и панислась.
Я к тому, что затрудняюсь придумать убедительный сценарий, где эта киллер-фича даёт какие-то значительные преимущества.
Возможность придумывать новые языки программирования для CLR, в которых весь текст будет в национальном алфавите?
Не знаком с успешными примерами.
При прочих равных даже разрешение одному девелоперу писать код типа public static int Травма(); означает гарантированные мучения остальным девелоперам, работающим с этим кодом.
И это безо всяких экзотических уникодных категорий.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Lexey, Вы писали:
L>По-моему, в данном случае народ какой-то херней страдает. Кому в здравом уме придет в голову использовать такие символы в идентификаторах?
Автогенераторам? Учитывая, что рослин идёт в массы, может и пригодится кому.
Предыдущая статья точно бы пригодилась
Здравствуйте, DarthSidius, Вы писали: DS>Ой да ладно. Еще в 1995 году отшедшему от компа товарищу менялась аглицкая "c" на русскую "с" без всякого уникода
Это всё понятно. Отмечу только, что компилятор, запрещающий нелатиницу в идентификаторах немедленно поймает хитрюгу за руку.
А модный C# позволяет жечь напалмом:
Здравствуйте, Sinclair, Вы писали:
S>А модный C# позволяет жечь напалмом:
Главное, чтоб жгло в правильную сторону. А то иногда получается как-то так.
И ведь фиг найдёшь опечатку в "NameDativeСase". Мой любимый пример на тему "почему сборку надо проверять FxCop-ом".
Re[2]: [Ann] When is an identifier not an identifier?
Здравствуйте, Sinclair, Вы писали:
S>При прочих равных даже разрешение одному девелоперу писать код типа public static int Травма(); означает гарантированные мучения остальным девелоперам, работающим с этим кодом.
Я когда-то в универе писал программу, которая ходила по каталогам, искала файлы *.pas и заменяла латинские буквы на похожие по написанию символы кириллицы. Но Far'ом подобные фокусы выявлялись на раз.
Re: [Ann] When is an identifier not an identifier?
В качестве розочки на тортике добавлю, что шарповский юникодный идентификатор в сочетании с остальной шарповской лексикой приводит к тому редкому случаю, когда стандартный алгоритм преобразования НКА в ДКА начинает генерировать экспоненциальное количество стейтов.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>