Общая теория программирования
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 28.06.05 13:00
Оценка:
Подумалось вот на досуге:

В науке естественным ходом развития является, что если теория имеет слабые места, (т.е существуют объекты, для которых она не работает), то рано или поздно появится более общая теория, в которой предыдущая будет частным случаем и все необъяснимые ранее явления будут объяснены.

Но то же самое происходит и в процессе создания ПО!

Архитектор, создавая иерархию объектов под конкретную задачу, постоянно решает те же проблемы: новые возможности постоянно требуют введение все более и более высоких уровней абстрации (иначе внедрение новых возможностей в систему приведет к прописыванию дополнительных условий как здесь http://www.rsdn.ru/Forum/Message.aspx?mid=1241937&only=1).

Сейчас есть огромное количество ОО библиотек, охватывающих самые различные компьютерные технологии (.NET, например), то есть в них подробно и достаточно удобно реализованы абстакции типа окна, базы данных итд, то есть абстракции инструментов, используемых при решении задач реального мира.

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

И если такие модели будут созданы, тогда програмирование превратится в технологию. А пока это все-таки отчасти искусство..

Все

ЗЫ. Шаблоны проектирования отчасти решают такую задачу, но не до конца. Это всего лишь общие закономерности, но не более того.
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.