budden пишет:это alter table и alter procedure, но не для SQL, а для обычного универсального ЯП.
Похоже, Денис делает ту же ошибку, что и Юрий: сказав "А", не говорит "Б", оставаясь во власти иллюзий.
Дело в том, что alter procedure не имеет смысла для отдельно стоящей процедуры. Чтобы эта магия заработала, нужно поместить процедуру в БД. Без нее никак. Следовательно, наличие БД (и СУБД для нее) является ключевым моментом, кардинально меняющим всю разработку. Скажем, тексты программ из описаний для конечного исполнителя превращаются в скрипты БД, а конечный исполнитель имеет дело с БД, обеспечивающей целостность, транзакции, горячую замену кода, ретроспективность данных и всё прочее, что позволяют делать современные базы данных.
Внесение СУБД в процесс разработки по значимости сродни изобретению печатного станка Гуттенбергом: БД кода имеет неограниченные возможности метапрограммирования, то есть изменения кода кодом. Если даже в обычных СУБД у администраторов частой практикой является генерация скриптов скриптами и всякие execute immdediate, что уж тут говорить про специализированную СУБД, рассчитанную на хранение кода.
После осознания важности БД следующий логичный шаг -- признание ее первичности. Поскольку целостность модели (кода, данных) теперь осуществляется механизмом СУБД, программисту нет никакого смысла переживать за свои исходники, -- они всего лишь скрипты БД, часто одноразовые. Горячая замена концептуально требует обратимости кода в том или ином виде. Если сделать обратимость полной -- можно отказаться от первичности исходников. Именно так сделано в Канторе. Дополнительное преимущество -- независимость от синтаксиса, обратная совместимость с будущими улучшениями, -- переписывать исходники не придется, их нет. Отекстовал новой версией -- получил все преимущества. Представьте, чтобы так механически можно было переходить с C++11 на C++17, к примеру...
Ту же ошибку с БД допустил Юрий: продвигаемое им многоязыковое программирование подразумевает отсутствие единства исходников и взаимодействие через словарь. На практике это означает, что каждые исходные тексты должны идти со своим словарем, в котором ключевые слова и идентификаторы привязаны к неким внешним ключам. Ничего не напоминает? Это та же БД, Юрию она нужна для отказа от единственности синтаксиса. Перейдя к множеству синтаксисов, он не дошел до первичности БД, и разработка ожидаемо зашла в тупик.
Программирование -- наука точная, так что любая замена кода должна отвечать неким требованиям целостности, задаваемым при проектировании БД кода, а СУБД должна их обеспечивать своей средой.
▼Чего я не понял в Ростове
Глядя на картинку с мостом, иллюстрирующим ремонт вместо сноса, думал про китайцев. В Китае принято не ремонтировать дома, а сносить и строить заново. Дома, построенные 10-15 лет назад, смотрятся так, будто им 50 лет. По-моему, это американский метод. Подход к строительству -- одна из множества вещей, в котором Китай отличается от нас.
Это замечание -- к тому, что полный снос и строительство заново встречается и в реальной жизни, и если вокруг нас оно не наблюдается, еще не значит, что этого нет. Национальные культуры производства, куда же без них...