Вопрос совместимости: гибридный программный продукт или гибридные языки?
Вопрос совместимости: гибридный программный продукт или гибридные языки?
Теоретически, мало кто не согласится с принципом скромности или будет отрицать необходимость механизма интеграции между ОО-разработками и старым ПО. Противоречия возникают, когда выбирается уровень интеграции.
Многие языки - самыми известными являются Objective-C, C++, Java, Object Pascal и Ada 95 - пошли по пути добавления ОО-конструкций в существовавший не ОО-язык. Они известны как гибридные языки (hybrid languages) - см. лекцию 17 курса "Основы объектно-ориентированного проектирования".
Техника интеграции, описанная выше, основывалась на внешних программах и ОО-перестройке. Это другой принцип: необходимость в совместимости ПО не означает перегрузку языка механизмами, могущими расходиться с принципами объектной технологии.
[x]. Гибрид добавляет новый языковой уровень к существующему языку, например С. В результате сложность может ограничить привлекательность объектной технологии - простоту идей.
[x]. Начинающие часто с трудом осваивают гибридный язык, поскольку для них неясно, что именно является ОО, а что досталось из прошлого.
[x]. Старые механизмы могут быть несовместимыми, по крайней мере, с некоторыми аспектами ОО-идей. Есть много примеров несоответствий между системой типов языков С или Pascal и ОО-подходом.
[x]. Не объектные механизмы часто конкурируют со своими аналогами. Например, C++ предлагает, наряду с динамическим связыванием, возможность динамического выбора, используя аппарат указателей функций. Это смущает неспециалиста, не понимающего, какой подход выбрать в данном случае. В результате, программный продукт, хотя и создан ОО-средой, по сути является реализацией на языке С, и не дает ожидаемого качества и производительности, дискредитируя объектную технологию.
Если целью является получение наилучших программных продуктов и процесса их разработки, то компромисс на уровне языка кажется неправильным подходом. Взаимодействие (Interfacing) ОО-инструментария и приемов с достижениями прошлого и смешивание (mixing) различных уровней технологии - не одно и то же.
Можно привести пример из электроники. Конечно, полезно сочетать различные уровни технологии в одной системе, например, звуковой усилитель включает несколько диодов наряду с транзисторами и интегральными схемами. Но мало проку от компонента, который является полудиодом, полутранзистором.ОО-разработка должна обеспечивать совместимость с ПО, построенным на других подходах, но не за счет преимуществ и целостности метода. Этого и достигает внешний механизм: отдельные миры, каждый из которых состоятелен и имеет свои достоинства, и четкий интерфейс, обеспечивающий взаимодействие между ними.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Библиотеки совместимости
Библиотеки совместимости Несмотря на наличие библиотек совместимости (compatibility libraries), ими пользуются очень редко. Существуют две возможности.• В системах на основе UNIX, Linux, Macintosh и некоторых других может быть развернута одна из библиотек совместимости Windows, например,
Режим обратной совместимости
Режим обратной совместимости Данный режим включается установкой параметра конфигурационного файла LEGACY_DIALECT1 в 1. После этого для клиентов диалекта 1 компилятор SQL выражений будет поддерживать только возможности, существовавшие в InterBase версии 5.x. Поведение сервера при
Гибридные параметры
Гибридные параметры Когда в качестве независимых переменных выбраны входной ток и выходное напряжение, уравнения четырехполюсника записываются в виде:V1 = h11I1 + h12V2;I2 = h21I1 + h22V2.Поскольку в уравнениях используются независимые переменные различного типа (ток и напряжение),
Гарантия CLS-совместимости
Гарантия CLS-совместимости Как вы узнаете из текста этой книги, в C# имеется ряд программных конструкций, которые яе являются CLS-совместимыми. Однако хорошим известием является то, что вы можете заставить компилятор C# выполнять проверку вашего программного кода на
Очеловечьте ваш продукт
Очеловечьте ваш продукт Какой у вашего продукта тип личности?Подумайте о своем продукте как о человеке. Каким человеком вы бы хотели его видеть? Вежливым? Неумолимым? Прощающим? Требовательным? Веселым? Бесстрастным? Серьезным? Разболтанным? Хотите, чтобы он выглядел
Проблемы совместимости с ранними версиями.
Проблемы совместимости с ранними версиями. Пользователи PGP показывают, что в ряде случаев наблюдается несовместимость PGP 5.0 с прежними версиями PGP при шифровании/расшифровке и подписи/проверке файлов, содержащих символы верхней половины кодовой таблицы, соответствующие
Гибридные жесткие диски
Гибридные жесткие диски Гибридный жесткий диск представляет собой обычный жесткий диск, который также содержит определенный объем флэш-памяти. Флэш-память предназначена для временного хранения часто используемых данных.Если вы обладатель гибридного жесткого диска, то
Коробочный продукт
Коробочный продукт Автор: Владимир ГуриевЯ уже почти месяц пребываю в легком недоумении, поскольку, вернувшись из краткосрочной ссылки в Ирландию, чуть ли не впервые в жизни не знаю, что написать по итогам поездки. В Ирландию меня любезно пригласила компания Hewlett Packard,
Проблемы (не)совместимости
Проблемы (не)совместимости Автор: Киви БердВ последнюю неделю мая окружной суд Хельсинки единогласно вынес «историческое» решение, постановив, что система защиты контента CSS, используемая на видеодисках DVD, является неэффективной (а значит, и ее снятие не является
Компания SAP и ее продукт R/3
Компания SAP и ее продукт R/3 Компания SAP является ведущим производителем стандартного прикладного программного обеспечения, предназначенного для промышленных предприятий. За последнее десятилетие компания заявила увеличение объемов продаж и прибыли на 40 % в год. Объемы
Промзона: Гибридный велосипед Николай Маслухин
Промзона: Гибридный велосипед Николай Маслухин Опубликовано 09 августа 2010 года Велобайк, разработанный компанией Pimobility, относится к нарождающемуся поколению гибридных велосипедов, способных по желанию хозяина превращаться в скутер или
Новые гибридные процессоры AMD APU A-Series Олег Нечай
Новые гибридные процессоры AMD APU A-Series Олег Нечай Опубликовано 15 июня 2011 годаЗакрытая презентация A-Series для журналистов состоялась примерно за месяц до официальной, и к этому времени в продаже уже появились первые ноутбуки на базе новых чипов семейства Fusion. A-Series в AMD
8.14. ГИБРИДНЫЕ ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ
8.14. ГИБРИДНЫЕ ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ 8.14.1. Игнорирование классовПроцедурно-ориентированный и объектно-ориентированный подходы к программированию различаются по своей сути и обычно ведут к совершенно разным решениям одной задачи. Этот вывод верен как для стадии
Спецификация минимальной функциональной совместимости
Спецификация минимальной функциональной совместимости В 1996 г. институт NIST совместно с рядом поставщиков продуктов, лидирующих на рынке PKI - AT&T, IREBBN, Motorola Certicom, Nortel (Entrust), Cylink, Spyrus, DynCorp и VeriSign, - выступил с инициативой разработки спецификации минимальной функциональной