Излагаемое в дальнейшем является результатом размышлений,
вызванных личной неудовлетворенностью предлагаемыми реше-
ниями по широкому кругу вопросов - не только проектирования и
программирования, но и сопровождения, реюза, совместной рабо-
ты многих программ, просто использования программ, их пакетов,
системы в целом. Сначала - о самых общих соображениях.
В основу любой методологии заложена та или иная система понятий,
т.е. модель. Поскольку любая модель ограничена, подход не годится
для создания систем "широкого назначения", а ведь именно такой сис-
темой является (должен являтся) современный компьютер универсаль-
ного типа, а значит - и его ОС, и средства разработки. Т.е., система
должна основываться на минимуме самых общих моделей "фило-
софского" уровня обобщения, и предоставлять возможности для пос-
троения и изменения самих моделей, как для системы в целом, так и
для самых разных локализаций (контекстов) внутри системы и по уров-
ням "глобальности", и по функциональным, и по "предметным" уровням.
Если взглянуть на "генеральный вектор" развития подходов, можно
заметить, что если процедурная технология основывалась на коде
(данные были "пассивны" и "подчинены"), ОО-технология больше
похожа на "активные данные", где код уже не первичен, как минимум.
Преимущества подхода общеизвестны, но и недостатки объедине-
ния кода и данных в "одно целое" - тоже. Если попытаться двигатся
в том же направлении, кажется очевидным, что следующий этап -
представление понятий, с максимальным разделением интерфейсов
и реализаций, и работа именно на уровне интерфейсов, прежде всего.
Вернее - самих понятий. О чем именно идет речь - в "ELIT.Семантика".
Владимир Павликов.