> Одну пользовательскую задачу, а не одно бесполезное действие. Представьте, если вместо
> math.h из стандартной библиотеки, была бы библиотека складывающая 2+2 или библиотека
> могла складывать только чётные числа и которая зависела от библиотеки складывающей
> 2+2.Может ведь так оказаться, что абсолютное большинство конечных разработчиков практически не использует модули, выполняющие одно-единственное действие( сам подобное если и использую, то просто сам необходимый код в проект переношу, поскольку мне нафиг не нужны какие-то допиливания в будущем и абсолютно устраивает нынешняя реализация и не нужны лишние зависимости от нанопакетов ).
Для пользователя/разработчика одна задача - это создание/чтение/запись в ФС / отправка запросов по сети / итп.
Для разработчика модуля работы с сетью одна задача - это парсинг заголовка / тела ответа, формирование заголовка / тела запроса( в которые входят еще куда нетривиальных подзадач )
Для разработчика парсера одна задача - это дробление строки по конкретному алгоритму / приведение данных в приемлемый вид итп
И так далее
На самом деле, в подобном подходе и нынешней простоте создания модулей и пакетов есть очень серьезный плюс - практически полная независимость от разработчика конкретного пакета( самые упоротые вспомнят лифпад или как он там, но проблема конкретно с ним была в возможности владельца пакета с чистой совестью его полностью выпилить из репозитория, что он и сделал и "внезапно" посыпались использующие его модули. Ту возможность давно прикрыли ).
В противоположность этому есть т.н "сообщество" QT, в котором практически все принадлежит и зависит от конкретной конторы, которая занимается разработкой/допиливанием и проч, есть совершенно конкретный огороженный набор компонентов и модулей.. и фактически все в QT будет ровно так как захочет путевая контора вне зависимости от желания или не_желания сторонних разработчиков.