Все слышали про иерархию наследования, вложенности контейнеров, но самой важной мне кажется иерархия областей видимости. Представим программу как иерархию директорий:
В современном глобализированном мире, развитие в том числе индустрии программного обеспечения идет слишком быстрыми темпами, в связи с этим происходит быстрое разделение технологий, которые вроде как и одно и то же, но слишком внешне различаются, чтобы их можно было даже понять как нечто единое. И тут как в истории, если чего то не знаешь, то обязательно повторишь, и хорошо еще если это будет тот же уровень абстракции, но часто получается фрактал переизобретений. В результате, время от времени, все уровни абстракции должны оседать, чтобы сконцентрировать усилия разработки. Раз мы хабре, то думаю будет понятна аналогия с кармой технологии, когда маленький промах приводит в повторению на более высоком уровне до тех пор, пока он не будет устранен.
Чтобы можно было ходить по таким «папкам», изменять, запускать, назначать права доступа.
Особенности: можно именовать языковые конструкции(for, while, if...), делать на них ссылки, программу можно написать с помощью пакетного файла.
Из этого я понял, что разговор никак ни о уже написанной программе, т.к. вы собираетесь что-то изменять, и как-то именовать языковые конструкции, делать на них ссылки, писать программу.
имелась ввиду оболочка для исполнения, в которой удобно производить изменения, и возможно удаленное написание программы с помощью команд, а также просмотр и копирование, возможность использовать систему как иерархическое хранилище данных. Если бы такая система существовала, ее бы можно было расширить для случая реляционных данных(в том числе) и совмещения с иерархиями наследования и вложенности контейнеров путем введения двойной иерархии(аналогично системе двойного подчинения в менеджменте), помимо этого расширить возможности для параллельного исполнения путем введения «параллельных» и «последовательных» папок, ввести запросы синхронизации — совмещающие чтение, запись и исполнение для разных участков иерархий(для этого удобно, чтобы некоторые конструкции были поименованы).
В языках типа Java и так файлы разнесены по директориям. Права доступа можно задавать аннотациями в файлах. Можете к ним написать такую оболочку, но я сомневаюсь, что это имеет какой-то смысл.