LINUX.ORG.RU


граждане, вы что, совсем уже обленились, да ?! :-O эта "библиотека" на C пишется ровно в сто строк. ну нельзя же быть до такой степени.. даже не знаю чем быть :-/

// wbr

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

> s/библиотека/велосипед/g

"дайте мне библиотеку для цикла for а то свой велосипед изобретать не хочется. точно знаю, что его использовало уже с миллион программистов в разных проектах".

// wbr

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

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

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

> Да, такие вещи надо самому писать.

Такую вещь надо самому написать, выкинуть, и пользоваться confuse. Ибо велосипедистам в юниксе не место.

ero-sennin ★★
()
Ответ на: комментарий от xnix

> s/библиотека/велосипед/g

ps: я не призываю писать свой XML/SAX парсер бо действительно муторно и прямая дорога в готовые решения. но *такие* вещи не написать максимум за полчаса - это IMHO уже просто нонсенс.

// wbr

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

>s/библиотека/велосипед/g

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

andron01
()
Ответ на: комментарий от ero-sennin

> Такую вещь надо самому написать, выкинуть, и пользоваться confuse.

"libConfuse is a configuration file parser library, licensed under the terms of the LGPL, and written in C. It supports sections and (lists of) values (strings, integers, floats, booleans or other sections), as well as some other features (such as single/double-quoted strings, environment variable expansion, functions and nested include statements). It makes it very easy to add configuration file capability to a program using a simple API."

скажите, ну нахрена нужно все это счастье, когда *все*, что нужно человеку - это распарсить тривиальнейший файл вида "тег=значение" ?!

> Ибо велосипедистам в юниксе не место.

ой да, дядя, расскажите мне пожалуйста - кому в UNIX место а кому нет, а? с высоты своего полета. а то сирые мы, не знаем еще что к чему и как :-/

// wbr

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

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

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

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

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

"понял, отстал" (c) FIDO
следующий

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от ero-sennin

Делаю вот это на свой системе

emerge --search confuse
Searching...
[ Results for search key : confuse ]
[ Applications found : 1 ]

* dev-libs/confuse
Latest version available: 2.5
Latest version installed: [ Not Installed ]
Size of files: 490 kB
Homepage: http://www.nongnu.org/confuse/
Description: a configuration file parser library
License: LGPL-2

Получаем [ Not Installed ].
Ни одна программа не использует confuse.
Отсюда делаем вывод что confuse в линуксе не место.

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

> скажите, ну нахрена нужно все это счастье, когда *все*, что нужно человеку - это распарсить тривиальнейший файл вида "тег=значение" ?!

Счастье занимает несколько сотен килобайт. Это много? И кто сказал, что те же строки или булевы типы не понадобятся?

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

> Счастье занимает несколько сотен килобайт. Это много?

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

> И кто сказал, что те же строки или булевы типы не понадобятся?

сказало это оригинальное ТЗ, которое звучит буквально как:

"Для разбора файла конфирукации типа NAME=VALUE"

ни больше ни меньше.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от ero-sennin

> А слова "подскажите _библиотеку_" вы дипломатично опустили? :P

собственно из-за этого и пошел весь сыр-бор. впрочем, каждому свое. если человек для таких целей не постесняется присобачивать confuse - Бог ему в помощь.

// wbr

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

> скажите, ну нахрена нужно все это счастье, когда *все*, что нужно человеку - это распарсить тривиальнейший файл вида "тег=значение" ?!

а если формат придется несколько усложнить? каждый раз новый парсер писать?

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

> а если формат придется несколько усложнить? каждый раз новый парсер писать?

вам реализовать ТЗ или "а если"? так можно сразу Xerces советовать и дело с концом. хотя, а вдруг там еще условия понадобятся? запросто! давайте уж тогда сразу Lua туда же добавим. ну а вдруг..

ps: между парсером и использующим его приложением должна стоять грамотная обертка (wrapper) дабы клиент ничего не знал [или знал по минимуму] о конкретном способе хранения данных будь то INI, XML или база данных. тогда не будет возникать проблем со сменой бэкенда [или их будет существенно меньше]. естественно в рамках заданного функционала конфигуратора.

// wbr

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

> Большинство приличных проектов стараются дополнительные библиотеки > использовать по минимуму или вообще не использовать.

Это уже опасная болезнь гойловного мозга - называется Not-Invented-Here-синдром.

plm ★★★★★
()
Ответ на: комментарий от ero-sennin

> Ибо велосипедистам в юниксе не место

Тру. Им вообще нигде не место.

plm ★★★★★
()

А кто-нить вообще слышал о таком проекте как snippets.org? кажется нет...

http://c.snippets.org/code/cfg.c - сам исходник

http://c.snippets.org/code/cfg.h - хидер к нему

http://c.snippets.org/code/cfg.tst - тестовый конфиг

и не надо никаких библиотек... можно разобраться в коде и оптимизировать/увеличить функционал по собственным нуждам.

P.S.: автору опста советую полазить по исходникам на этом сайте, там ного чего интересного :) и не только на C, есть и другие языки.

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