LINUX.ORG.RU

glib или велосипед?

 ,


2

4

Пишу небольшую библиотеку, в основном для себя, но может кому ещё пригодится. Заметил, что кое-что, что я велосипедил есть в glib и кое-что, что я только собирался велосипедить там тоже есть. Но часто здесь читал нелестные отзывы о glib. И я хочу спросить, что лучше пара своих велосипедов или завязка на glib?

glib хорош, аналог boost для C, отрицательные отзывы от неосиляторов

fsb4000 ★★★★★
()

Лишняя зависимость в проекте, glib используют неосиляторы кода размером со сниппет.

Bfgeshka ★★★★★
()

если пара - то лучше свои. а если «пара» - то лучше glib

SevikL ★★★★★
()

Кошерно использовать libc, glib используют неосиляторы libc (ака линуксоиды), свои велосипеды пишут неосиляторы glib.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)

В любом случае лучше использовать библиотеку. Если не стоит задачи научиться делать руками то что в ней реализовано.
А glib норм, куча софта его юзает от старого до нового

mos ★★☆☆☆
()

И я хочу спросить, что лучше пара своих велосипедов или завязка на glib?

  • Если код предполагается использовать там, где гарантированно есть GLib, то лучше использовать GLib;
  • если есть малейшие подозрения, что библиотека будет использована где-то, где GLib нет или его использование связано с болью, то лучше велосипеды;
  • если твои велосипеды занимают один-два экрана кода и не критичны для скорости выполнения или объёма потребляемой памяти, то лучше велосипеды;
  • если код должен быть максимально быстрым, то лучше заточенные под конкретно твою задачу велосипеды, если они окажутся быстрее.

Ну и так далее. Сначала выпиши список фич и требований, а потом выбирай зависимости.

i-rinat ★★★★★
()
Ответ на: комментарий от mos

Ровные пацанчики не выползают из окружения emacs, а сказки с putty давно не актуальны. Но ты пиши, доставляешь.

n1rdeks
()
Ответ на: комментарий от i-rinat

Если код предполагается использовать там, где гарантированно есть GLib

Пожалуй, есть. Единственное, что за версия там будет… Как столкнулся с тем, что на одном из кластеров была на столько старая ОС, что там не все фичи С99 были в штатном компиляторе.

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

^ А такие посты пишут осиляторы шизофрении.

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

Вижу.

Не видишь, если всерьез называешь glib клоном libc.

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

Glib это такая либа с готовыми алгоритмами для «ооп на коленке», вы случайно не перепутали её с glibc (референсной версией libc)?

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

Вижу. Glib – гнутый (и скорее всего не полный) клон libc.

Эээ… Да ты упорот.

Пройди по ссылке (https://developer.gnome.org/glib/stable/), ознакомься, и больше не путай GLib и glibc, пожалуйста.

i-rinat ★★★★★
()
Ответ на: комментарий от ox55ff

У glib куча биндингов ко всему на свете. Исходная реализация на Си, да, но никто не заставляет.

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

Далеко не только для «ООП на коленке», там куча всего, от контейнеров и тредов до парсинга xml и аргументов командной строки.

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

Спасибо, посмотрю, но сходу не заметил того, что меня заинтересовало в glib.

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

Я пишу не реализацию строк, да и не нужны мне строки особо.

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

ну если тебя такое не вызывает отвращения значит с glib у тебя проблем скорее всего не будет, вперёд

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

Нет, glib это не просто не клон libc, но и отношения к нему вообще никакого не имеет. Ты наверное профнепригоден до такой стенепи что не различаешь glib и glibc, если уж говорить про второе то скажи какого именно libc он клон, докажи это и покажи в каком месте он неполный.

slovazap ★★★★★
()
Последнее исправление: slovazap (всего исправлений: 1)

Без разницы. И то, и другое зашквар.

slovazap ★★★★★
()

кое-что, что я велосипедил есть в glib и кое-что, что я только собирался велосипедить там тоже есть

Что именно?

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

ты видел какой дикий ад в коде glib?

Обычный ад, не хуже ада в любом приличном проекте на си. Даже получше.

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

Вроде glib это та хрень которая печатает экраны нечитабельных логов в gtk-программах. А бывает даже и в Qt.

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

поддержу это мнение.

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

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

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

Ворсти ты упрлся или путти выел тебе моск

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

Причем тут все это когда у ТС наколенная поделка для себя? Оут можно делать всё что хочется, а хотеться должно юзать established либу

mos ★★☆☆☆
()

glib есть везде, так что бери его!

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

В glib есть функции для работы со строками и свой GString!

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

ну мало ли. может, он пилит мега-библиотеку на века :)

в любом случае, правила хорошего тона таковы, что лишние зависимости тащить в проект не нужно.

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

онтейнеров и тредов до парсинга xml и аргументов командной строки

но ведь наверное любая альтернатива на си (которая будет «стандарт» в области) будет чище и лучше? Мне довелось работать и с первым, и вторым, и третьим, и четвёртым, практически нет смысла брать эту либу только ради этого.

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

Если я верно помню, основная зависимость от glib, на сегодняшний день, в gstreamer — больше эта библиотека не используется нигде, а вот альтернатив gstreamer просто не существует.

linuxnewbie
()
Ответ на: комментарий от i-rinat

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

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

Они наверно ко всему подряд без разбора его прилинковали, на самом деле это не так.

linuxnewbie
()

однозначно велосипед

mittorn ★★★★★
()
Ответ на: комментарий от i-rinat

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

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

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

Зачем Вам тогда дистрибутив, использующий все худшие практики из существующих? Из-за которых, по-сути, и существует эта аура неприязни по отношению к проприетарному ПО.

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