Ни с чего переходить не надо. Вот есть задача сделать свой кастомный бинарный формат, protobuf и другие не подошли. Можно написать 1000 строк кода для записи и чтения этого формата и дебажить неделю. А можно взять мою библиотеку-рантайм языка, подключить к своему проекту и за 15 минут написать 10 строк описания своего формата на моём языке. И библиотека сделает всё сама. Когда формат изменился, просто поменять его описание, и если соблюдать несколько правил обратной совместимости, то программа сможет грузить как старый формат, так и новый.
>> protobuf и другие не подошли
На этом моменте уже по-подробнее нужно, пожалуйста. Если мне не подходит protobuf
и другие — тут уже не инструмент искать, а плакать...
>> библиотеку-рантайм языка
Т.е. первый шаг == интеграционные проблемы
>> за 15 минут
В идеальном мире. В реальном же откинут твою библиотеку по причинам: не нашли в гугле, джун, которому поручили эту ерунду, запутался в readme, Буст уже и так подключен, регулярки для парсинга бинарных данных всё ещё интуитивнее кому-то. Как продвигать?
>> И библиотека сделает всё сама
Т.е. либо неэффективно, либо совершенно нет точек кастомизации
>> написать 10 строк описания
Предварительно изучив тысячи строк readme
>> просто поменять его описание
Кто ответственный, когда мы в коде сделаем hard reset на несколько коммитов назад и у нас структура изменится на предыдущий вариант, а мы уже в прод залили?
>> соблюдать несколько правил обратной совместимости
Т.е. ручное версионирование? А чем... лучше?