Автор Для просмотра ссылки Войди или Зарегистрируйся

В жизни каждого программиста С++ рано или поздно возникает задача, которую кто-либо уже решил. Однако найти это решение бывает очень непросто в силу разных причин: оно недостаточно разрекламировано, либо имеет нечеткую документацию, или возникает проблема языкового барьера, ну, или поисковики просто плохо ищут).
Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из Для просмотра ссылки Войдиили Зарегистрируйся. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.
Суть и смысл моей работы
Когда я в первый раз задался целью найти какой-нибудь единый, толковый справочник по открытым библиотекам языка С++, оказалось, что это не очень просто. К примеру, далеко не все поисковики (не будем показывать пальцем) корректно обрабатывали запрос «библиотеки C++» или «список библиотек C++». В общем, закономерно я всё же вышел на 3 основных источника:
В общем, моя работа заключалась в следующем.
или Зарегистрируйся

В жизни каждого программиста С++ рано или поздно возникает задача, которую кто-либо уже решил. Однако найти это решение бывает очень непросто в силу разных причин: оно недостаточно разрекламировано, либо имеет нечеткую документацию, или возникает проблема языкового барьера, ну, или поисковики просто плохо ищут).
Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из Для просмотра ссылки Войди
Суть и смысл моей работы
Когда я в первый раз задался целью найти какой-нибудь единый, толковый справочник по открытым библиотекам языка С++, оказалось, что это не очень просто. К примеру, далеко не все поисковики (не будем показывать пальцем) корректно обрабатывали запрос «библиотеки C++» или «список библиотек C++». В общем, закономерно я всё же вышел на 3 основных источника:
- Для просмотра ссылки Войди
или Зарегистрируйся. - Для просмотра ссылки Войди
или Зарегистрируйся, который он ведет с единомышленниками на github. - Для просмотра ссылки Войди
или Зарегистрируйся, каждая из которых состоит только из заголовочных файлов.
- Человек (Фараз Фаллахи или кто-от еще) находил очередную библиотеку на Github, потом в большинстве случаев просто копировал секцию «About», какой бы текст в ней не находился. К примеру, там могла находиться только расшифровка акронима, и более ничего: «ETL - Embedded Template Library». Если потом разработчик библиотеки менял секцию «About», то автоматически это не отражалось в списке библиотек. Какой текст попал когда-то в первый раз, тот и остался навсегда.
- Тот, кто писал найденную библиотеку, вполне мог не очень вкладываться в описание (англоязычное) своей библиотеки. Хотя бы потому, что он мог не знать, что она, библиотека, «выстрелит» и войдет в чей-то список. Он мог быть не англоязычным. Также человек мог невольно сделать такое описание к собственной библиотеке, которое не очень понятно тому, кто не в теме предметной области. Да и тому, кто в теме, не всегда понятно. К примеру, в этом списке я видел библиотеки от китайцев, индийцев, японцев, в описание которых я довольно долго вчитывался, пытаясь понять, что именно они сделали. Бывало, что их терминология сильно отличалась от той, к которой я привык (например, в плане математики).
- Библиотеки из списка никогда (или почти никогда) не удалялись, не делалась подчистка сильно устаревших и неактуальных библиотек. К примеру, я встречал библиотеки 15-20 давности, которые реализовывали умные указатели.
- Разделы списка были отсортированы по алфавитному принципу (на английском языке). В итоге близкие по смыслу библиотеки попадали в разные разделы, и они были отделены друг от друга многими десятками страниц текста. Было сложно найти похожие, альтернативные библиотеки.
В общем, моя работа заключалась в следующем.
- Сделать черновой перевод списка. Да, я не брезговал и машинным переводом, из него 70 процентов пошло в мусорку, но все же часть работы он мне сократил.
- Разобраться в сути библиотек и написать свой, авторский текст. Я писал его всегда, когда мне было непонятно, зачем вообще нужна библиотека, какое у нее содержание и чем она отличается от других. Не всегда возможно отличить две библиотеки, которые, скажем, писались для замены STL, но я, по крайней мере, пытался (в других случаях, не в этом). Поясняющий текст я писал, ориентируясь в основном на подробное описание библиотеки на Github, но не только.
- Выкинуть совсем устаревшие, не способные кому-то быть полезными библиотеки. Я выкинул их не так много, старался делать это очень аккуратно, не перегибая палку. Это чужой труд в прошлом.
- Изменить сортировку разделов. Я отказался от принципа сортировки разделов по алфавиту. Вместо этого стал сортировать по смысловому принципу: близкие по смыслу разделы располагаются рядом. Ни один из разделов я не выкинул и не добавил (хотя руки чесались, но из уважения к Фаразу…). Внутри разделов принцип сортировки по алфавиту я сохранил. Как сохранил и указание лицензии после описания библиотеки (в квадратных скобках).
Разделы
- Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся