Дастали
На дворе третье тысячелетие. По десктопам, серверам и мэйнфреймам победоносно шествует объектно-ориентированное программирование (в простонародье ООП). За какие-то 15 лет оно воплотилось в господствующую религию, подчинившую умы миллионов программистов. Популярность ООП и его доминирование уже ни у кого не вызывает сомнений. В настоящее время оно фактически стало стандартом де-факто. С использованием объектно-ориентированной методологии (ООМ) осуществляется разработка огромного числа программных проектов, а ООП является основным инструментом для построения кода. Повышение эффективности кодирования осуществляется путем автоматизации процессов объектно-ориентированного проектирования за счет применения соответствующих CASE средств. Наиболее известным инструментом проектирования является Rational Rose [Буч98]. Языки программирования, методологии, приложения, операционные системы, базы данных... Куда не плюнь - кругом "объективная реальность". Вот только основные ее достижения.
Объектно-ориентированные языки программирования
Объектно-ориентированные расширения, в той или иной форме, были добавлены в ряд ранее известных языков программирования, что продлило их существование. Среди них наиболее известны следующие "гермафродиты": С++ (расширение C) [Страуструп], Delphi (расширение Pascal) [Гофман], MS Visual Basic (расширение Basic) [Райтингер]. Они потеснили на рынке средств разработки такого однополого корифея ООП, как Smalltalk [Goldberg]. В каждом из этих языков объектно-ориентированные расширения были проведены в различном объеме. Наиболее продвинутым в этом направлении оказался C++. Популярность C у программистов, лидерство во времени плюс качество введенных конструкций способствовали тому, что C++ стал одним из наиболее известных языков объектно-ориентированного программирования. Delphi и VB также занимают достаточно устойчивые позиции. Во многом это связано не с их объектной ориентированностью, а тесной интеграцией с методами быстрой разработки, базами данных и компонентными технологиями, что позволяет достаточно быстро строить приложения средней сложности. Такие инструменты существуют и для С++ (C++ Builder [Архангельский]). Однако, ООМ считает их использование в разработке больших программных систем неэффективным [Васкевич]. Следует также отметить язык программирования Оберон-2 [MoessenboeckWirth], разработанный под руководством Н. Вирта. Данный язык обладает простой структурой, компактен. Он сохраняет понятие типа, используемое в процедурном подходе. Для придания языку свойств объектного, предложен механизм связанных процедур.
Последовавшая затем "кастрация" механизмов процедурного порождения программ привела к появлению новых, чисто объектных (как и Smalltalk) языков, тесно интегрированных с современной информационной средой. Наиболее популярным из них оказался язык Java [Нортон], ориентированный на кросс платформенную виртуальную машину, адаптированную к функционированию в среде Internet. Поддерживаемая агрессивной маркетинговой политикой, ОО Java-технология заняла на рынке средств разработки одно из ведущих мест. А последним "писком" является C# [Hejlsberg] - объектно-ориентированный кастрат от Microsoft в пику Java.