Re: Что тяжелее - внешний процесс или вызов библиотеки?
Oleksandr Gavenko <gavenkoa@gmail.com> writes:
> Формат вывода большинства утилит не стандартизирован, отсутствует
> документация и гарантии что новые версии не изменят формат вывода,
> тогда как для библиотечных вызовов зачастую есть документация и вызовы
> предварительно помечаются как устаревшие, обратно-несовместимые
> библиотеки изменяют пространство имен.
>
> С этой точки зрения библиотеки предпочтительней.
Дельного ничего не посоветую, а просто повздыхаю. Это беда, на самом
деле. Зачастую выпарсивание нужных данных выглядит как нереально
страшный костыль. Правильно вот выше заметили. Причем костыль, который
завтра может запросто поменяться и вообще сбить с толку прежний код.
Вообще, утилиты в *NIX надо бы писать изначально так, чтобы ими было
удобно пользоваться в скриптах: то есть не только human-readable вывод
делать, но также и удобный текстовый вывод для скриптов. Лучше даже
как-то однообразно и для всех утилит, чтобы можно было единым образом
получать какие-то параметры, единообразно получать информацию о
прогрессе (если таковая выдается). Но вот как-то не сложилось в нашем
мире. Культура у разработчиков разная. Если мне придется в будущем
делать какие-то утилиты, то я изначально буду проектировать так, чтобы
можно было удобно скриптовать.
Если по теме, то от утилиты зависит. Смотря какая утилита, смотря какая
библиотека. Одни ломают каждый раз вывод, другие годами ничего трогают,
а некоторые даже принципиально не меняют. Библиотека тоже смотря какая.
Reply to: