Прошу прощения, что возвращаюсь к своей любимой теме – бросанием тухлых помидоров в Boost. Но повод уж больно хорош для того, чтобы показать, что мне в Boost-е не нравится больше всего. 24-го августа начался процесс review очередного претендента на включение в Boost. Что это за зверь такой? А вот:
The boost polygon library provides algorithms focused on manipulating planar
polygon geometry data. Specific algorithms provided are the polygon set
operations (intersection, union, difference, disjoint-union) and related
algorithms such as polygon connectivity graph extraction, offsetting and
map-overlay. These so-called Boolean algorithms are of significant interest in
GIS (Geospatial Information Systems), VLSI CAD as well al other fields of CAD,
and many more application areas, and providing them is the primary focus of this
library. The polygon library is not intended to cover all of computational
geometry in its scope, and provides a set of capabilities for working with
coordinates, points, intervals and rectangles that are needed to support
implementing and interacting with polygon data structures and algorithms.
Specifically, 3d and non-Cartesian/non-planar geometry is outside of the scope
of the polygon library.
Прошу прощения за мой французский, но это, блин, именно та часть, которой совершенно не хватало в составе собрания универсальных библиотек общего назначения (он же Boost)! Миллионы C++ программистов по всему миру только и занимаются, что GIS и CAD системами. И теперь они могут найти в Boost-е все самое необходимое для этого. Только зачем же останавливаться на достигнутом? Нужно сразу внести ее в один из следующих стандартов языка C++!
Если же говорить серьезно, то я еще понимал назначение Boost-а, когда там кучковались shared_ptr; thread; function, bind и lambda; filesystem; random; string_algo и пр. Но после того, как дистрибутив Boost-а достиг 30Mb (т.е. больше JRE) смысл его существования и цели его создателей для меня стали совершенно непонятны. Я не могу понять, зачем мне время от времени скачивать 30Mb (31, 32, …, 40, …MB) архивы только для того, чтобы воспользоваться обновленными версиями, например, filesystem, interprocess и asio. И мне не столько жалко трафика и места на своем винчестере, сколько я не могу понять – почему это так?
2 комментария:
Зря вы так волнуетесь. Имхо буст сейчас решает проблему переноса кода между закрытыми проектами :) то есть людям не хочется страдать при смене работодателя и переделывать все заново. Просто опубликование кода бы привело бы к расстрелу а так - "это ж бЮст, это ж святое " :D
Спасибо за пост - подняли настроение тк я как раз работаю над планарным VLSI CAD и ржал над описанием от чистого сердца.
Всегда пожалуйста! :))
А взгляд на Boost интересный. Получается, что Boost-у нужно сменить лозунг. Теперь это уже не "песочница для новых стандартных библиотек". Теперь это движение под флагом "Дай своему C++ коду свободу!"
Отправить комментарий