Reviews / articles about OS/2 |
Operating systems: ArcaOS, eComStation, IBM OS/2 Warp |
|
|
DATE: 2001-08-23 17:00:34 AUTHOR: Cornelis Bockemщhl
Что происходит с IBM VisualAge для OS/2 сегодня? Нужен ли нам в будущем официальный C/C++ компилятор и среда разработчика от IBM? Или разумнее полностью перейти к компиляторам, выпускаемым под флагом "open source"? Этот вопрос до сих пор остается спорным - достаточно обратить внимание на некоторые заявления IBM по этому вопросу и вызываемые ими дискуссии в самых разных форумах. Статья рассматривает некоторые аспекты этой проблемы. Мнение, изложенное в этой статье, является точкой зрения автора статьи и не содержит никаких официальным заявлений. Текущее состояние дел18.07.2000 IBM распростанила краткое заявление под заголовком "Напоминание об окончании сроков поддержки компиляторов" (см. ibm.software.vacpp.misc, доступная через news.software.ibm.com): ======================================================================== Напоминаем, что для следующих продуктов, дата окончание программы поддержки - 31 января 2001 года: * IBM VisualAge C++ for OS/2, Version 3.0 * IBM VisualAge C++ for Windows, Version 3.5 * IBM VisualAge C++ Professional for OS/2 и Windows NT, Version 4.0 Подробности о продуктах VisualAge C++ for OS/2, Version 3.0 и VisualAge C++ for Windows, Version 3.5 - письмо 298-239 на сайте Подробности о продуктах VisualAge C++ Professional for OS/2 и Windows NT, Version 4.0 - письмо 298-473 на сайте Dwayne Moore, Служба сопровождения и поддержки VisualAge C++ ========================================================================
Последняя, 4-ая версия для обеих платформ существует с 1998 года.
С тех пор, никаких заявлений о выпуске новых версии не было.
Тем не менее, буквально несколько месяцев назад,
появилась новая, 5-ая версия, но для ОС AIX (т.е. уже третьей поддерживаемой
платформы).
Официально, IBM до сих пор не заявила, остановится ли разработка VAC++ для OS/2 и NT. Но она также не объявляет о продолжении разработок. Надежда о положительном развитии событий сохраняется.
Значит ли это, что начиная с января,
мы больше не сможем писать программы для OS/2?
Конечно же нет! Хотя заранее понятно, что
закрытие проекта VAC++ окажется огромной потерей для OS/2!
КомпиляторВ составе VAC++ идет быстрый, хорошо оптимизирующий компилятор. Он был полностью переписан для 4-ой версии. Теперь он поддерживает стандарт ANSI-C++ и некоторые "революционные", характерные только для VAC++ особенности. Например, файлы заголовков и obj-файлы - уже не обязательны, потому что генерируемый код сохраняется в базе данных "codestore". Это приводит к тому, что после небольших изменений кода, требуется перекомпилировать только участок измененного кода, что приводит к заметной экономии времени разработчика. Надо признать, что версия 4.01 (4-ая с наложенным 1-ым фикспаком) со всеми этими особенностями еще не "устоялась", как предыдущая версия 3.08 (версия 3.0 с 8-ым фикспаком), поэтому многие разработчики до сих пор предпочитают старую версию: быстрый и надежный C/C++ компилятор, хотя и не поддерживающий все требования ANSI-C++ стандарта. Это основная неприятность, если необходимо перекомпилировать (портировать) какой-то исходник в среду OS/2. Если разработка VAC++ будет остановлена, мы столкнемся с выбором: либо текущая неустоявшаяся версия (версия 4.01), либо надежная 3.08. Альтернативы компилятору VAC++:
IDE - Интегрированная среда разработчика
Что касается IDE, то между версиями 3.0 и 4.0 есть огромное различие.
Это, как два, совершенно разных продукта. Обе - по-своему хороши,
поэтому, каждая из них имеет своих последователей и оппонентов.
Более того, бе IDE кординально отличаются
от других IDE (MS Visual-Studio и Delphi). Основная направленность IDE от VAC++ 3-ей версии
- это объектно-ориентированность во всем: она прекрасно интегрируется
в WPS и предусматривает модульный дизайн приложений. Новые инструменты (tools)
могут быть интегрированы наряду со стандартными, и даже могут заменяться
(Например, можно приделать EMX-компилятор).
Найти альтернативу этих сред - намного сложнее, чем найти альтернативу компилятору. Для тех, кто привык работать в 3.0 или 4.0, все остальные предложения покажутся слабыми. Хотя, конечно, существуют мощные редакторы (freeware или с открытыми исходниками), с возможностью подсветки синтаксиса, возможностью выполнения компиляции, запуска дебагера. OCL - октрытая библиотека классовВсе, кто пишет C++ программы, обязательно использует библиотеки классов. И это особенно важно при программировании приложений, работающих в графической среде Presentation Manager. VAC++ содержит в своем составе OCL - "Open Class Library". Библиотека корректно спроектирована, мощная. Библиотека инкапсулирует основные структуры данных (стринги, комплексные числа, контейнеры, и т.д.) и функции для работы с графическим пользовательским интерфейсом PM. Зато нет классов для работы с интернетом, которые, тем не менее, можно взять из других библиотек.
Существует огромное количество альтернативных библиотек классов,
в основном платформо-независимых, портированных из других ОС.
А вот с PM-библиотеками (т.е. теми, которые инкапсулируют окна Presentation Manager'а и различные элементы управления)
все намного хуже.
Другое концептуальное отличие OCL - это разделение функций визуализации и обработки событий (пример события - нажатие кнопки мыши) элементами управления в своих собственных классах. Это приводит к более элегантным и масштабируемым, чем другие, решениям (по сравнению с MFC - Microsoft Foundation Classes с их чрезмерным использованием макросов). Механизм уведомлений (который позволяет различным C++ объектам посылать друг другу сообщения) даже не существует в большинстве остальных библиотек. Поэтому, немедленное замещение OCL - невозможно: перевод кода, который использует классы OCL в какую-то другую библиотеку классов, потребует полное переписывание кода. Некоторые участники IBM форумов, упомянутых выше, спрашивают о возможности октрытия исходников OCL (исходники доступны уже сейчас, но не являются Open Sources). Обсуждается создание собственных клонов этой библиотеки для Linux. Это позволит переносить хорошие и полезные программы из одной ОС в другую без каких-либо дополнительных затрат. "Visual Builder"Visual Builder (VB) - это уникальный инструмент для визуального программирования, для которого до сих пор не создано достойной альтернативы. Если бы VB был правильно разрекламирован на рынке, он привел бы к настоящей эпохе визаульного программирования. Маркетологи Microsoft хорошо понимали, когда давали своей IDE похожее имя ("Microsoft Visual C/C++" похоже на IBM-овское "VisualAge C/C++"). Оно не оправдывает себя: продукция MS не содержит тех возможностей, которые есть у Visual Builder'а - но кто знает об этом, кроме нескольких программистов? VB не только позволяет расположить элементы управления на диалоговых окнах, но также позволяет "рисовать" логическую схему, которая их объединяет. Тоже самое - для невидимых элементов (списки, переменные, фактории (генераторы данных)). Созданные вами диаграммы, используются VB для создания C++ кода, который может быть дополнен кодом программиста, набранным вручную. Самописный и графически-созданный код может взаимодействовать друг с другом разными способами, полностью переведен в одно из состояний (набранный вручную/графическое представление). Компоненты, которые были созданы таким образом, можно повторно использовать в других проектах, т.е. прослеживается концепция объектно-ориентированности. К сожалению, все перечисленные особенности и простота, для многих VAC++ программистов остается неизведанными. Основная причина - это необходимость предварительных тренировок. Особенно удручает то, что процесс переключения между ручным кодированием и графическим представлением кода плохо документирован. Большинство вещей приходится постигать на своих ошибках, что, естественно, является минусом для потенциальных пользователей VAC++ ЭпилогОстановка разработки VAC++ нанесет огромный урон OS/2-сообществу, несмотря на то, что существуют альтернативы некоторым его компонентам (компилятору, библиотеке классов). Те, кто видит будущее OS/2, как "Open Sources"-среду (как, например, автор статьи), даже приветствуют эту потерю. Но, хочу вас заверить, что это недальновидное мнение. Конечно, EMX C/C++ - это здорово, но до VAC++ ему еще расти и расти! Если разработка VAC++ будет остановлена, моим главным пожеланием будет выпуск релиза OCL с лицензией "Open Source". Текущие версии продуктов семейства Visual Age успешно используются и сейчас. Жалко только, что 4-ая версия так и не достигнет нужного уровня стабильности и относительной безглючности, (по сравнению с 3.08), которые является определяющими для инструментов программиста. Прочитав статью, читатель может воскликнуть: "чего-чего, а прекрасный инструмент разработчика у нас имеется!". И я даже соглашусь с этим, но только с одним "но": если IBM доделает четвертую версию VAC++, и сделает ее по-настоящему стабильной. В общем, ситуация вокруг VAC++ очень похожа на ситуацию вокруг самой OS/2. Не надо строить иллюзий, но будем надеяться на лучшее!
Комментарии:
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C) OS2.GURU 2001-2021