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

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

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

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

[identity profile] jakobz.livejournal.com 2012-04-24 02:52 pm (UTC)(link)
Ну плюсы - это же язык для написания библиотек для работы со строками. Так что все ок, правильно все делаешь.

[identity profile] falcrum.livejournal.com 2012-04-24 03:09 pm (UTC)(link)
Ну так ты задачу интересно обозначил: "внезапно я получаю по com-порту строку в несколько гигабайт"... :)

[identity profile] permea-kra.livejournal.com 2012-04-24 03:27 pm (UTC)(link)
в сях нет, не было и не будет нормальных строк, поскольку все стандартные апи хотят нуль-терминированные строки. Там нужно все выкидывать на свалку и переписывать. Начать желательно с написания нового unicode (чтобы вся диакритика была всегда отдельным code point), потом переписать все апи на строки с информацией о длине в байтах перед строкой и использованием нормального utf8 и только после этого выпускать язык из психушки.

[identity profile] theiced.livejournal.com 2012-04-24 03:31 pm (UTC)(link)
я тебе уже ответил - глиб. но ты предпочитаешь слушать бабуинастов и прочую пидорасню почему то.

[identity profile] thedeemon.livejournal.com 2012-04-24 03:50 pm (UTC)(link)
На Си надлежит написать рантайм хаскеля, а дальше - монады-монады-монады. :)

[identity profile] tzirechnoy.livejournal.com 2012-04-24 04:22 pm (UTC)(link)
Да, glib -- это феерическое говно. Они собрали все херовые концэпцыи, которые только смогли скомпилировать в Си: unicode, XML, threads, dynamic loading of code, stdio-like streams interface, null-terminated strings и собрали это в одну монолитную библиотеку.

[identity profile] juan-gandhi.livejournal.com 2012-04-24 06:41 pm (UTC)(link)
Ха. Я когда-то полгода писал всякие объекты, мапы, хеши, стринги, иквалзы. А потом вышла джава, я всё бросил и пошел туда, где всё уже есть.

[identity profile] blackyblack.livejournal.com 2012-04-24 07:14 pm (UTC)(link)
"PPS: Хотя уже есть и альтернативное мнение в комментариях. Ну и спрашивается, как жить в языке, где на каждую тему есть половина мнений за и половина мнений против?:)"

Дзэн совет: жить нужно в парадигме языка.
Парадигма си - пишем всё самостоятельно, экономим память, ошибок не бывает, а строки только в ASCII.
Парадигма с++ - пишем всё на шаблонах, всё в динамической памяти, утечки памяти ловим с сачком, имплементация классов и шаблонов перетекает в интерфейсы.

[identity profile] justy-tylor.livejournal.com 2012-04-24 07:28 pm (UTC)(link)
Ребе, это уже было про Хаскель!