Я просто считаю, что у нас сейчас программы разрались до тех размеров, что ни одни живущий не знает, как они себя ведут
Ну, всё правильно. Поэтому я и топлю за reflection-based мета-программирование, в котором код сам определяет, как он будет писаться и выполняться
Старый подход: ты продумываешь архитектуру, например плагинную систему с экстеншен-поинтами, аккуратно всё выписываешь, превращаешь в стандарт, все по этому стандарту кодят и компилятор помогает им стандарт не нарушить
Новый подход: ты пишешь такой код, который мог бы выдавать максимальное observability, чтобы он мог максимально рассказать о себе, что он делает, как он устроен. Дальше какой-то другой код самостоятельно это анализирует (как угодно, от алгоритмов и стандартов вплоть до нейросетей и прочего машинленинга), сам понимает как туда встроиться, и что со всем этим делать
Таким образом, твой высокоуровневый код - это не набор команд, это набор *пожеланий* как это по-хорошему должно работать. Ты добавляешь в кучу свои пожелания (напрример, в форме BDD-тестов), и дальше Великий Вычислитель, или скорее - облако великих вычислителей, пытается как-то понять, как решить поставленную тобой задачу. Ну, иногда спрашивают у тебя подсказки для решеняи сложных инженерных трейдоффов - тыжеинженер