Leif Gram: Mr. Fix

Кстати

Нужен язык программирования, модулярный не только вширь, но и в глубину времени по репозиторию. Чтобы можно было, например, для поддержки старых интерфейсов лекго линковаться к самому себе различных прошлых релизов, и не раздувать без нужды никакое конкретное состояние кода. Допустим, я когда-то поддерживал версию 1, потом версию 2 и теперь версию 3 некоторого интерфейса. В каждый момент времени только одну и без обратной совместимости. Всё равно, теперь у меня в репозитории по факту одновременно хранятся отлаженные обработчики всех трех протоколов. И из них должно быть легко, ничего не копируя, собрать систему, поддерживающую любой из них по выбору клиента. Благодаря этому, методологически неправильный cut-and-paste code reuse заменяется всюду, где он нужен, на респектабельное версионирование.
Это вам, батенька, машина времени нужна :)
Ну source control и есть такая машина, только все ее возможности сейчас не используются.

Edited at 2017-11-15 10:10 am (UTC)