metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-04-24 05:50 pm

Запретите мне

Мне нельзя писать на C, по причине психологических проблем. Я начинаю от входа изобретать велосипеды, писать какие-то свои строки, массивы строк и прочую хрень.
Впрочем, в целях самообучения оно, конечно, полезно, но потом надо заставить себя взять готовые библиотеки и переписать на них.
Тогда возникает следующая проблема: какую из 100500 библиотек взять?
А вообще это я пытаюсь сделать общение с девайсом в continuation-passing style с трамплином, но начав его делать, я углубился в строки и списки строк )

PS: Наверно возьму glib. Код строк у них там внезапно почти идентичен тому, что я тут наколхозил.
PPS: Хотя уже есть и альтернативное мнение в комментариях. Ну и спрашивается, как жить в языке, где на каждую тему есть половина мнений за и половина мнений против?:)

[identity profile] tzirechnoy.livejournal.com 2012-04-24 04:08 pm (UTC)(link)
>Кодировка в любом случае должна быть

настраиваемой пользователем.

>1)байт-ориентированная (чтобы не
> было идиотизма с LE/BE)

Транспортная -- да. Со внутренней в принцыпе могут быть варианты, это в общем скорее дело библиотеки.

>с нормальным расходом памяти, сниженным для
> частых символов

preliminary optimisation. Если нужэн снижэнный расход памяти -- используйте хаффмана. А вообще написать столько настоящего текста, который займёт существенную память -- нетривиально.

>желательно, являться надмножеством ascii.

Вообще хорошо бы. Хотя лучшэ, чтобы поддержка не-ascii тожэ была.

>хотя бы миллионом кодпойнтов

Вы столько не выучите.
То есть транспортная и системная инфраструктура должна поддержывать расшыряемый набор кодировок, по очевидной причине. В расшыряемом наборе будет неограниченное количество кодпоинтов. С другой стороны, мне часто хватает windows-1251 с парой эскейпов.

Вообще, мне бы подошла rfc2047, если чо.

[identity profile] permea-kra.livejournal.com 2012-04-24 06:03 pm (UTC)(link)
>preliminary optimisation.
Это ярлык.

>Если нужэн снижэнный расход памяти -- используйте хаффмана.
Не всегда вариант. Зачастую совсем не вариант.

>А вообще написать столько настоящего текста, который займёт существенную память -- нетривиально.
Банально. Сериализованная база имя-телефон-адрес.

>Вы столько не выучите.
Мне и не надо. Юникод просто один должен быть.