Я некоторое время пишу на C ++ и уже привык к проблеме совместимости платформ. Но теперь я понял, что обратная совместимость — это еще одна существенная проблема:
Как можно Boost библиотеки успешно использоваться для важных проектов?
Многие из библиотек Boost активно поддерживаются и улучшаются, поэтому обратная совместимость с предыдущей версией не всегда возможна.
(Источник: http://www.boost.org/users/faq.html)
У Java та же проблема? Я знаю, что ситуация отличается от пакета к пакету, но как насчет пакетов Java, которые так же известны, как boost
в мире C ++?
Вы удобно перерезали остальная часть ответа в Boost FAQ, где рассказывается, как справиться с этой проблемой:
Разобраться с этим можно, заморозив версию библиотек Boost, используемых
ваш проект. Обновляйте только в точках жизненного цикла вашего проекта
где небольшие изменения не вызовут проблем. Индивидуальные исправления ошибок
всегда можно получить из буст-репозитория.
Что касается остальной части вашего вопроса …
У Java та же проблема?
Конечно. Это не проблема с конкретным языком программирования. Это проблема сторонних библиотек или фреймворков в целом.
Я знаю, что ситуация отличается от пакета к пакету, но как насчет пакетов Java, которые так же известны, как boost в мире C ++?
Нет ничего похожего на Boost для Java, потому что многие вещи, предлагаемые Boost, уже являются частью самой платформы Java, к лучшему или к худшему. Подумайте о строковых алгоритмах или операциях с файловой системой.
Как говорится, возможно Apache Commons подходит близко Как оказалось, у него есть своя доля проблем обратной совместимости, что, как я уже говорил выше, совершенно нормально. Например, заметки о выпуске для v4.0 четко заявить следующее:
Эта версия использует универсальные функции Java 5 и не совместима с более ранними версиями JDK.
(…), мы решили сломать API различными способами. (…) Мы также удалили все устаревшие классы и фиксированные странности в предыдущем API, которые мы не могли исправить из-за ограничений обратной совместимости.
Помните, что Boost и Apache Commons решают эту фундаментальную проблему разработки программного обеспечения очень профессионально и хорошо документировано. К сожалению, этого нельзя сказать о большинстве других библиотек и фреймворков, с которыми вы можете столкнуться в дикой природе, независимо от используемого языка программирования.
Других решений пока нет …