Почему современный Perl по умолчанию избегает UTF-8?

интересно, почему большинство современных решений, построенных с использованием Perl, не позволяют UTF-8 по умолчанию.

Я понимаю, что есть много устаревших проблем для основных сценариев Perl, где он может сломать вещи. Но, с моей точки зрения, в 21st век, большие новые проекты (или проекты с большой перспективой) должны сделать их программное обеспечение UTF-8 доказательство с нуля. И все же я не вижу, как это происходит. Например, Лось обеспечивает строгое и предупреждения, но не Unicode. Modern:: Perl уменьшает boilerplate слишком, но никакой регулировать UTF-8.

Почему? Есть ли причины избегать UTF-8 в современных проектах Perl в 2011 году?


комментарий @tchrist слишком длинный, поэтому я добавляю его здесь.

кажется, я не совсем ясно выразился. Позвольте мне кое-что добавить.

tchrist и я вижу ситуацию примерно так же, но наши выводы полностью в противоположных полюса. Я согласен, ситуация с Unicode сложна, но именно поэтому нам (пользователям и кодерам Perl) нужен какой-то слой (или ПРАГМА), который делает обработку UTF-8 такой же простой, как и в наши дни.

tchrist указал на многие моменты, чтобы покрыть, я буду читать и думать о них в течение нескольких дней или даже недель. И все же я не об этом. tchrist пытается доказать, что нет ни одного способа "включить UTF-8". У меня не так много знаний, чтобы спорить с что. Итак, я придерживаюсь живых примеров.

Я играл с Рякуду и UTF-8 был только там я. У меня не было никаких проблем, это просто сработало. Возможно, есть какие-то ограничения где-то глубже, но в начале все, что я тестировал, работало так, как я ожидал.

разве это не должно быть целью в современном Perl 5? Я подчеркиваю это больше: я не предлагаю UTF-8 в качестве набора символов по умолчанию для core Perl, я предлагаю возможность его запуска С Щелчковой для тех, кто разрабатывает новая проектов.

другой пример, но с более негативным оттенком. Рамки должны облегчить процесс развития. Несколько лет назад я попробовал веб-фреймворки, но просто выбросил их, потому что "включение UTF-8" было настолько неясным. Я не нашел, как и где подключить поддержку Unicode. Это заняло столько времени, что мне стало легче идти старым путем. Теперь я увидел, что здесь была щедрость, чтобы справиться с той же проблемой с Мейсон 2: как сделать Mason2 UTF-8 чистым?. Таким образом, это довольно новая структура, но использование ее с UTF-8 требует глубокого знания ее внутренних элементов. Это как большой красный знак: СТОП, не используй меня!

Мне очень нравится Perl. Но работа с Unicode болезненна. Я до сих пор бегу вдоль стен. Каким - то образом!--22-->tchrist правильно и отвечает на мои вопросы: новые проекты не привлекают UTF-8, потому что это слишком сложно в Perl 5.

7 ответов