Почему объектно-ориентированных
Ситуация, сложившаяся на стыке объектно-ориентированного программирования и средств управления базами данных, кажется просто парадоксальной. Более 20 лет сообщество баз данных пытается предоставить сообществу объектно-ориентированного программирования средства управления данными, устраняющие потерю несоответствия. На это были направлены исследования и разработки в области языков программирования баз данных. Именно устранение потери соответствия с объектно-ориентированными языками программирования постулировалась в качестве основного довода в пользу ООСУБД в [49]. Вопросы сопряжения с объектно-ориентированными языками программирования серьезно учитывались при разработке объектных расширений языка SQL. И тем не менее, очень многие разработчики (а может быть, и подавляющее большинство разработчиков) приложений, создаваемых с использованием языков и сред объектно-ориентированного программирования, используют промежуточное программное обеспечение объектно-реляционного отображения, которое само взаимодействует с базами данных на основе базового подмножества языка SQL без использования каких-либо объектных расширений. Чем это можно объяснить?
Мы не готовы представить развернутый ответ на этот вопрос. Общая точка зрения по этому поводу отсутствует как в сообществе баз данных, так и в сообществе объектно-ориентированных языков программирования. Однако рискнем предположить, что основной причиной предпочтений подавляющего числа программистов является их уровень квалификации. Безусловно, в мире имеется большое число программистов высокой квалификации, обладающих широким кругозором и обширными знаниями в разных областях программного обеспечения. Они выбирают для реализации своих проектов наиболее подходящие для них программные средства, используют и ООСУБД, и объектные расширения SQL, если это приносит пользу приложениям.
Однако большинство современных приложений создается разработчиками средней квалификации. Обычно их учат грамотно и эффективно писать программы на одном языке или в одной среде программирования с максимальным использованием существующих компонентов. Программистам этой категории не по силам (да и не хочется) наряду с известным им объектно-ориентированным языком использовать еще и дополнительный язык баз данных, такой как SQL или язык запросов к объектно-ориентированным базам данных OQL. Средства объектно-реляционного отображения позволяют им в той или иной мере обойтись знанием одного языка.
Кроме того, наряду с проблемой разработки приложений имеется не менее важная проблема их сопровождения. Как правило, сопровождением приложений занимаются не разработчики приложений, а совсем другие люди. Вне всяких сомнений, этим специалистам намного проще иметь дело с однородными текстами программ, полностью написанных на одном языке программирования.