[Ann] When is an identifier not an identifier?
От: Sinix  
Дата: 03.12.14 07:26
Оценка: 3 (2) +1
Очередная статья от Джона Скита о тяжёлой жизни юникода в дотнете.

Уже первого заголовка:

How this all started – blame Vladimir


и саммари:

As noted before, text is hard.

достаточно, чтобы понять: читать стоит


Первая статья, если пропустили: When is a string not a string?
Re: [Ann] When is an identifier not an identifier?
От: Lexey Россия  
Дата: 03.12.14 10:10
Оценка: +1
Здравствуйте, Sinix, Вы писали:

S>Очередная статья от Джона Скита о тяжёлой жизни юникода в дотнете.


S>достаточно, чтобы понять: читать стоит


По-моему, в данном случае народ какой-то херней страдает. Кому в здравом уме придет в голову использовать такие символы в идентификаторах?
"Будь достоин победы" (c) 8th Wizard's rule.
Re[2]: [Ann] When is an identifier not an identifier?
От: vit_as Россия  
Дата: 03.12.14 11:04
Оценка: +1
Здравствуйте, Lexey, Вы писали:

L>Здравствуйте, Sinix, Вы писали:


S>>Очередная статья от Джона Скита о тяжёлой жизни юникода в дотнете.


S>>достаточно, чтобы понять: читать стоит


L>По-моему, в данном случае народ какой-то херней страдает. Кому в здравом уме придет в голову использовать такие символы в идентификаторах?


Мб обфускатору?
Re: [Ann] When is an identifier not an identifier?
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.12.14 11:30
Оценка: 12 (2) :))
Здравствуйте, Sinix, Вы писали:

S>Очередная статья от Джона Скита о тяжёлой жизни юникода в дотнете.


S>Уже первого заголовка:

S>

S>How this all started – blame Vladimir


S>и саммари:

S>

S>As noted before, text is hard.

S>достаточно, чтобы понять: читать стоит
Имхо, это пример того, куда ведут вымощенные благими намерениями дороги.
Кто-то пятнадцать лет назад спросил "А почему бы нам не разрешать юникод в идентификаторах?", и панислась.
Я к тому, что затрудняюсь придумать убедительный сценарий, где эта киллер-фича даёт какие-то значительные преимущества.
Возможность придумывать новые языки программирования для CLR, в которых весь текст будет в национальном алфавите?
Не знаком с успешными примерами.
При прочих равных даже разрешение одному девелоперу писать код типа public static int Травма(); означает гарантированные мучения остальным девелоперам, работающим с этим кодом.
И это безо всяких экзотических уникодных категорий.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Отредактировано 03.12.2014 11:35 Sinclair . Предыдущая версия .
Re[2]: [Ann] When is an identifier not an identifier?
От: Sinix  
Дата: 03.12.14 12:21
Оценка: +1
Здравствуйте, Lexey, Вы писали:

L>По-моему, в данном случае народ какой-то херней страдает. Кому в здравом уме придет в голову использовать такие символы в идентификаторах?

Автогенераторам? Учитывая, что рослин идёт в массы, может и пригодится кому.
Предыдущая статья точно бы пригодилась
Автор: Sinclair
Дата: 03.12.14



Не, если придираться, то так можно все этюды Никова отбросить:
во-первых, никто так
Автор:
Дата: 23.11.10
делать
Автор: VladD2
Дата: 11.09.12
не будет
Автор: nikov
Дата: 23.12.07
,
во-вторых, в других языках вообще негров линчуют свой юникод изобретают (также см тут.

Мы такой подход не одобряем
Автор: Fortnum
Дата: 26.11.14
и считаем эти возражения неинтересными и непродуктивными.
Re[2]: [Ann] When is an identifier not an identifier?
От: hardcase Пират http://nemerle.org
Дата: 03.12.14 12:46
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Image: ax2R73p_700b.jpg


Это было бы смешно....

http://rsdn.ru/forum/dotnet/4890825.flat
Автор:
Дата: 13.09.12
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: [Ann] When is an identifier not an identifier?
От: Sinix  
Дата: 03.12.14 13:16
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Image: ax2R73p_700b.jpg

Evilest thing?

Это он ещё не познал силу юникода. ‮ ьтаворипокс йуборпоП ‬
Re[2]: [Ann] When is an identifier not an identifier?
От: DarthSidius  
Дата: 03.12.14 13:30
Оценка: +1
Здравствуйте, Sinclair, Вы писали:

Ой да ладно. Еще в 1995 году отшедшему от компа товарищу менялась аглицкая "c" на русскую "с" без всякого уникода
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 58>>
♠♠♥♠♠♦♥
Отредактировано 03.12.2014 13:33 DarthSidius . Предыдущая версия .
Re[3]: [Ann] When is an identifier not an identifier?
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.12.14 13:38
Оценка:
Здравствуйте, DarthSidius, Вы писали:
DS>Ой да ладно. Еще в 1995 году отшедшему от компа товарищу менялась аглицкая "c" на русскую "с" без всякого уникода
Это всё понятно. Отмечу только, что компилятор, запрещающий нелатиницу в идентификаторах немедленно поймает хитрюгу за руку.
А модный C# позволяет жечь напалмом:
for(var x=0; x<10;x++)
  for(var х=0; х<10;х++)
    for(var o=0; o<10;o++)
      for(var о=0; о<10;о++)
         Console.WriteLine(10*(10*(10*х+х)+o)+о);
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: [Ann] When is an identifier not an identifier?
От: Sinix  
Дата: 03.12.14 14:03
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>А модный C# позволяет жечь напалмом:


Главное, чтоб жгло в правильную сторону. А то иногда получается как-то так.
И ведь фиг найдёшь опечатку в "NameDativeСase". Мой любимый пример на тему "почему сборку надо проверять FxCop-ом".
Re[2]: [Ann] When is an identifier not an identifier?
От: Слава  
Дата: 03.12.14 16:18
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>При прочих равных даже разрешение одному девелоперу писать код типа public static int Травма(); означает гарантированные мучения остальным девелоперам, работающим с этим кодом.


Я когда-то в универе писал программу, которая ходила по каталогам, искала файлы *.pas и заменяла латинские буквы на похожие по написанию символы кириллицы. Но Far'ом подобные фокусы выявлялись на раз.
Re: [Ann] When is an identifier not an identifier?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.12.14 19:13
Оценка: 24 (1)
Здравствуйте, Sinix, Вы писали:

В качестве розочки на тортике добавлю, что шарповский юникодный идентификатор в сочетании с остальной шарповской лексикой приводит к тому редкому случаю, когда стандартный алгоритм преобразования НКА в ДКА начинает генерировать экспоненциальное количество стейтов.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.