Да нет, вроде, противоречий. Если кто-то пытается использовать modern C++ в коллективе, где не все хорошо знают, что это такое, то он создаёт не только технический риск, связанные с переносимостью кода, но и риск, возникающий от того, что коллеги не вполне понимают, как такой код работает. Если уж мы используем что-то такое в проекте, то возникает желание локализовать это в одном месте. Например, мы можем счастливо использовать Boost.Program_options, и при возникновении необходимости достаточно легко отказаться от неё. Есть другой тип библиотек, которые решают повсеместно возникающие задачи, типа смартпойнтеров или lambda library. Использовав такого рода библиотеку в одном маленьком модуле, ты получишь маленькую выгоду, по сути, они расширяют язык и предполагают повсеместное единообразное использование. Решение повсеместно в коде использовать такой "расширенный" С++ труднообратимо.
Кстати, то, что ты помянул - тоже бизнес-логика. Видимо, имелись в виду информсистемы, работающие в основном с int, string и double/Money. Не понял, что — "тоже бизнес-логика"?
Наукоёмкость проекта обостряет риски, связанные с boost — меньше специалистов и больше шансов, что придётся собирать проект, скажем, сановским компилятором.
(no subject)
21/10/05 06:58 (UTC)Если кто-то пытается использовать modern C++ в коллективе, где не все хорошо знают, что это такое, то он создаёт не только технический риск, связанные с переносимостью кода, но и риск, возникающий от того, что коллеги не вполне понимают, как такой код работает.
Если уж мы используем что-то такое в проекте, то возникает желание локализовать это в одном месте. Например, мы можем счастливо использовать Boost.Program_options, и при возникновении необходимости достаточно легко отказаться от неё. Есть другой тип библиотек, которые решают повсеместно возникающие задачи, типа смартпойнтеров или lambda library. Использовав такого рода библиотеку в одном маленьком модуле, ты получишь маленькую выгоду, по сути, они расширяют язык и предполагают повсеместное единообразное использование. Решение повсеместно в коде использовать такой "расширенный" С++ труднообратимо.
Кстати, то, что ты помянул - тоже бизнес-логика. Видимо, имелись в виду информсистемы, работающие в основном с int, string и double/Money. Не понял, что — "тоже бизнес-логика"?
Наукоёмкость проекта обостряет риски, связанные с boost — меньше специалистов и больше шансов, что придётся собирать проект, скажем, сановским компилятором.