LINUX.ORG.RU
ФорумTalks

Unicode-хейтеры: кто они?

 


0

3

Вот интересно, откуда у некоторых (не будем говорить кого, но все понимают, о ком я) такая ненависть к юникоду? По каким причинам его ненавидят? Предполагаю, что большинство хейтеров — ниасиляторы средств работы с длинными символами в своём любимом языке программирования. Но неужели изучить эти инструменты труднее, чем кричать на каждом углу про ненужность юникода и обрекать пользователя на трах?

У людей винты на 210 MB, шо ты прям.

Deleted
()

неужели изучить эти инструменты труднее, чем кричать на каждом углу про ненужность юникода

А может это фишечка такая? Вот, например, большинство (кроме новичков) знают про взаимоотношения Эдди и юникода, а вот ты под этим ником мне, например, ничем не запомнился.

alozovskoy ★★★★★
()

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

Bfgeshka ★★★★★
()

Я не хейтер, но если язык укладывается в один байт, таки _намного_ удобнее обрабатывать текст в однобайтной кодировке.

utf-8 это вообще не формат для обработки для внутреннего представления. utf-16 тоже плох, т.к. из-за модификаторов и в нём символы могут быть переменной длинны. Но и utf-32 имеет некоторые заморочки с нормализацией символов, которые для полной корректности работы во всех ситуациях, следует учитывать.

Но это всё для программиста, обычному конечному пользователю utf-8 вполне комфортен. И для программиста в общем-то тоже, если нет нужды что-то сложное делать с текстом.

anonymous_incognito ★★★★★
()
Последнее исправление: anonymous_incognito (всего исправлений: 1)
Ответ на: комментарий от anonymous_incognito

Покажи мне пример кода, выполняющий одну и ту же функцию в первом случае с однобайтной кодировкой, а во втором — с utf8.

te111011010
() автор топика
Ответ на: комментарий от alozovskoy

(кроме новичков)

Не верно. Я очень новичок, непосредственно на ЛОРе, но прекрасно знаю, что Эдди фетиширует на кои8, анонимус не может нарисовать круг, а царь болеет сишечкой.

int64
()
Ответ на: комментарий от int64

Ты, судя по профилю, какой-то затянувшийся новичок =)

alozovskoy ★★★★★
()

Почему сразу хейтеры? Есть система, где годами всё работало с koi, зачем переходить на utf, если и так всё работает, брат жив и никаких камней?

Lavos ★★★★★
()

Несоответсвие между колоссальным масштабом замысла – создать единую таблицу символов для всех языков и систем письма, – и практическим исполнением, полным нелепиц, глупостей и ошибок, просто поразительно. Вообще, не следовало за такое серьёзное дело браться команде дилетантов. Может, надо было Генассамблее ООН создать специальный комитет для этого.

Deleted
()

В нормальных ОС, редакторах, браузерах и языках программирования юникод из коробки.

Однобайтерство - атавизм, который нужно беспощадно выпиливать.

border-radius
()

На самом деле, утверждения о ненужности юникода могут быть просто напоминанием о том, что не всем он нужен, а однобайтные кодировки прекрасны, и нужно с этим считаться. А то оставят только одну UTF-8 и сидят, радуются... При необходимости использования юникода я могу спокойно его использовать, а не так, что, мол, меня прямо корёжит при его упоминании. Но, при этом мне вполне достаточно локали KOI8-R, которую я и юзаю. И я считаю, что дискриминация по локали - зло. Альтернативные локали должны продолжать поддерживаться везде, где это нужно.

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

Покажи мне знак радиации (☢) в KOI8-R. Ну или хотя бы греческую альфу (α). Ну или - ещё проще - букву Ї.

А потом вспомни аргументацию Эдди на этот счёт и поймёшь, почему за юникодофобию надо как минимум отключать от интернета.

border-radius
()
Ответ на: комментарий от te111011010

Покажи мне пример кода, выполняющий одну и ту же функцию в первом случае с однобайтной кодировкой, а во втором — с utf8.

Допустим, ты сейчас спросил о strlen. Так вот, если в 1-байтовых надо считать количество байтов до нуль-терминатора, то в utf-8 надо еще проверять сколько октетов входит в текущий символ.

По этому, для более сложных операций над юникодом (напр. сортировка) его разворачивают в utf32. В таком случае мы снова возвращаемся к эффективности/методам работы с однобайтными кодировками.

И как следствие, однобайтные имеют выигрыш по времени и пространству при обработке, но создают ненужный гемеррой пользователю (все помнят явление «слетевшей кодировки»). Ну а поскольку программы пишутся для пользователей, то выбор кодировки очевиден (к тому же при нынешних мощностях экономия на размере символа сродни экономии на спичках).

Другое дело эмбедщина...

KennyMinigun ★★★★★
()
Ответ на: комментарий от Lavos

потому что если убегать от прогресса, со временем придётся городить всё больше и больше костылей, чтобы всё так же работало.

sudopacman ★★★★★
()
Ответ на: комментарий от border-radius

Но, если это всё ненужно? Всё можно описать словами. Можно так и написать: «знак радиации», «альфа»,... и т.д. Более того, так можно указывать даже то, для чего нет и не может быть знаков, или они могут быть перепутаны с другими вещами: «interpolation», «imaginary unit», «gravitation sign», «homologies», «ancestor»,... и т.д.

saahriktu ★★★★★
()

В rom твоей видеокарты прошита неюникодная таблица символов. Происки хейтеров?

Deleted
()
Ответ на: комментарий от saahriktu

Но зачем так усложнять себе жизнь? Так ведь можно и все языки мира на (базовую) латиницу перевести и сидеть на одном ASCII. Это, кстати, смахивает на аргументацию эдди, только у него вместо латиницы фигурировало подмножество кириллицы.

Например, на лоре (движок которого не совсем прогрессофобен и поддерживает HTML entities) я часто использую ≠ и ©. Да, я знаю о (костыльных) аналогах в лице != и (c), но зачем так извращаться, если правильные символы доступны изкоробки?

Кстати, с вот этими мерзкими «ёлочками» без юникода тоже была бы беда.

border-radius
()
Последнее исправление: border-radius (всего исправлений: 2)
Ответ на: комментарий от sudopacman

А с чего вдруг UTF-8 - это прогресс? Это просто ещё одна кодировка. А если бы KOI8-R появилась позже, и широко использовалась сегодня, то прогрессом была бы именно она? К стандартам IT слово «прогресс» плохо применимо. Если не ломать совместимость, или добавить поддержку там, где её не было, то всё будет спокойно работать веками и тысячелетиями.

saahriktu ★★★★★
()
Ответ на: комментарий от border-radius

если правильные символы доступны изкоробки

Не везде они доступны. В нативную консоль больше 256-ти символов в PSF шрифте пока ещё не завезли.

saahriktu ★★★★★
()
Ответ на: комментарий от sudopacman

Ну так не везде это нужно. Да, это даёт определённые возможности при соответствующих требованиях, да. Но, это просто параллельные реальности. В одной используют UTF-8, а в другой достаточно и однобайтной кодировки.

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

в PSF шрифте

Ты имеешь в виду PCF?

В нативную консоль больше 256-ти символов в PSF шрифте пока ещё не завезли.

Значит, нативная консоль в нынешнем исполнении слишком несовершенна и её надо дорабатывать до соответствия современным реалиям.

border-radius
()
Ответ на: комментарий от saahriktu

Но, если это всё ненужно

Да-да, мы поняли, если с твоим любимым поделием это не работает, значит не нужно.

iz_tabakerki
()
Ответ на: комментарий от saahriktu

Ну, из-за таких вот товарищей много где приходится держать трёхкилометровые слои iconv и прочих костылей вместо того, чтобы всем миром использовать одну универсальную современную кодировку.

На изолированном локалхосте хоть морзянку используй. Подключился к инету - изволь соответствовать.

border-radius
()
Ответ на: комментарий от border-radius

Стандартный формат растровых шрифтов, который работал и работает. Вообще-то, если более точно, там ограничения немного другого уровня. В ядре жёстко прописаны такие ограничения: не более чем 32x32 пикселей на символ, не более чем 64 Кб на шрифт. В итоге у людей проблемы с запихиванием в PSF шрифты даже 512-ти символов. Особенно если они не 8x16.

saahriktu ★★★★★
()
Ответ на: комментарий от sudopacman
  • Зачем прыгать с кодировки на кодировку? А если потом появится ещё какая-нибудь VUG-256, то все с радостью на неё перепрыгнут и переконвертируют свои коллекции текстовых файлов? Не проще ли выбрать кодировку один раз в жизни?
  • Экономия системных ресурсов; тексты занимают меньше места на носителях и в оперативке и быстрее обрабатываются;
  • Можно продолжать юзать <<main (int argc, char **argv)>>, strncpy, strncmp, printf,... и другие неюникодные функции;
  • Можно переместить указатель на подстроку со смещением N символов просто прописав strptr + N;
  • И т.д.
saahriktu ★★★★★
()

Не хейтер, но мне кажется ненужным добавлять смайлики разных цветов кожи. Надо отделять кодировку от разметки.

𝓐𝓷𝓭 𝓽𝓱𝓲𝓼 𝓲𝓼 𝓪𝓷𝓸𝓽𝓱𝓮𝓻 𝓮𝔁𝓪𝓶𝓹𝓵𝓮.

Klymedy ★★★★★
()
Последнее исправление: Klymedy (всего исправлений: 1)
Ответ на: комментарий от border-radius

По всему миру используется множество местных кодировок, одними кодировками с кириллицей ничто не ограничивается: BIG5, GB, JIS, KSC, EUC, Shift-JIS, EBCDIC,... и т.д. Ну, уберётся из этого списка KOI8-R, а дальше что? Либо так всё и останется, либо будут созданы ещё кодировки.

saahriktu ★★★★★
()

те, кого не волнуют проблемы туземцев

Bad_ptr ★★★★★
()
Ответ на: комментарий от saahriktu

Значит, надо чинить ядро. Не более чем 64 Кб на шрифт в 2016 году - это смешно.

border-radius
()
Ответ на: комментарий от Klymedy

По-моему, смайлики разных цветов кожи появились ещё в досе. Что, впрочем, не оправдывает их нужность.

Вообще, в этом плане согласен: полезная инфографика типа ☢☣ - одно дело, а всякие блондинистые emoji - другое.

border-radius
()
Последнее исправление: border-radius (всего исправлений: 1)

Ничего не имею против.

Я против смайликов и прочих хипстерских эмодзи.

a1batross ★★★★★
()
Ответ на: комментарий от saahriktu

У меня на этот счёт три вопроса:

  1. У него что, есть своя мнемоника для каждого из оставшихся 65408 символов (если говорить о базовой плоскости)?
  2. Когда всякие lynx, links, elinks, links2, w3m, dillo и прочие недобраузеры наконец-то закопают?
  3. Почему их до сих пор не закопали?
border-radius
()
Ответ на: комментарий от saahriktu

Пока бронтозавры просто прописывают, люди уже давно написали библиотеки и не жужжат :}

Deleted
()
Ответ на: комментарий от KennyMinigun

Другое дело эмбедщина...

Где в 99% случаев хватит ASCII. Или кто-то на полном серьёзе делает протокол обмена какой-нибудь железки с компом по RS-232 с применением национального алфавита?

В таком случае мы снова возвращаемся к эффективности/методам работы с однобайтными кодировками.

Текстовая информация - одна из самых компактных. Сравни хотя бы размер «Войны и мир» и размер скана одной страницы этой книги в нормальном разрешении. Так что 1 или 4 байта на символ, не суть важно. В любом случае всё будет работать очень быстро.

KivApple ★★★★★
()
Ответ на: комментарий от KennyMinigun

По этому, для более сложных операций над юникодом (напр. сортировка) его разворачивают в utf32. В таком случае мы снова возвращаемся к эффективности/методам работы с однобайтными кодировками.

Подожди, а сортировка с неюникодными кодировками проще? Серьёзно?

Покажи мне пример сортировки Shift-JIS, например.

x3al ★★★★★
()
Ответ на: комментарий от saahriktu

Так в том то и фишка, что можно один раз выбрать UTF-8 и больше никогда ничего не переконвертировать.

KivApple ★★★★★
()
Ответ на: комментарий от saahriktu

А с чего вдруг UTF-8 - это прогресс?

С того, что не нужно переписывать прикладной софт только ради того, чтобы он работал в Китае/Японии. Со всеми вытекающими.

Если твой софт будут пользовать только те, кому его закупили по откату — да, пофиг.

x3al ★★★★★
()
Ответ на: комментарий от border-radius

Покажи мне знак радиации

Зачем же так сложно? Проще попросить немецкие умляуты, кану и китайский в koi-8. Типичный современный юзкейс.

Suigintou ★★★★★
()
Ответ на: комментарий от border-radius
  1. Ну, не совсем для всех, но наиболее часто используемые транслирует. В частности, как я уже когда-то писал, звёзды на ЛОРе он отображает через '*'.
  2. Никогда.
  3. Потому, что нужны.
saahriktu ★★★★★
()

Это в основном пользователи языков программирования, в которых строки и массивы байтов считаются чем-то взаимозаменяемым.

PolarFox ★★★★★
()
Ответ на: комментарий от saahriktu

JIS, EUC, Shift-JIS

Я стал замечать, что последние года 4 многие владельцы ресурсов, появившихся в начале 00х, переехали с них на единственно верный utf-8. Про новые и говорить нечего, utf-8 by default. Зачем держаться за древний deprecated?

Suigintou ★★★★★
()
Ответ на: комментарий от border-radius

Значит, нужно и их заставить выйти из криокамеры.

К сожалению, они уже опережают нас в процессе выхода.

Suigintou ★★★★★
()
Ответ на: комментарий от saahriktu

Ну, не совсем для всех, но наиболее часто используемые транслирует.

Ну вот и приехали к точке фейла. Кто-то будет рассказывать мне, какие символы часто используемые, а какие нет, в то время как нормальные браузеры рендерят всё.

Потому, что нужны.

Хорошо, четвёртый вопрос: когда вымрут те имбецилы, которым они нужны?

border-radius
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.