|
Обновите ArcaOS до уровня NeoWPS
- Установите набор PNG иконок, нарисованных дизайнером, специализирующемся на оформлении OS/2
- Установите eSchemes 2018, чтобы менять цвета и кнопки на рабочем столе
|
Будущее IBM VisualAge C++ для OS/2 |
TITLE: Будущее IBM VisualAge C++ для OS/2
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 (т.е. уже третьей поддерживаемой
платформы).
На первый взгляд, кажется что 4-ая версия VAC++ для Windows NT
имеет более высокий уровень, чем OS/2-версия: для NT-версии выпущено две версии фикспаков,
для OS/2-версии - только один. Причина - банальная - проблемы Windows 2000,
для которой и понадобилось выпустить лишний фикспак, т.к. без него,
Windows не работает с Visual Age.
Официально, IBM до сих пор не заявила, остановится ли разработка
VAC++ для OS/2 и NT. Но она также не объявляет
о продолжении разработок. Надежда о положительном развитии
событий сохраняется.
Значит ли это, что начиная с января,
мы больше не сможем писать программы для OS/2?
Конечно же нет! Хотя заранее понятно, что
закрытие проекта VAC++ окажется огромной потерей для OS/2!
VAC++ - это больше, чем просто компилятор. Чтобы это понять,
рассмотрим составные части VAC++.
Компилятор
В составе 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++:
- GNU C/C++, с EMX от Eberhard Matthes: в перую очередь полезна для последователей "Open Sources"-подхода.
(ран-тайм библиотека этого компилятора (набор emx-dll'ей) стала стандартом де-факто для всех OS/2 систем)
- Watcom C/C++ со своей средой разработки (выпускается с открытыми исходниками)
Оба компилятора уже зарекомендовали себя, как надежные и пригодные для использования в народном хозяйстве компиляторы.
IDE - Интегрированная среда разработчика
Что касается IDE, то между версиями 3.0 и 4.0 есть огромное различие.
Это, как два, совершенно разных продукта. Обе - по-своему хороши,
поэтому, каждая из них имеет своих последователей и оппонентов.
Более того, бе IDE кординально отличаются
от других IDE (MS Visual-Studio и Delphi). Основная направленность IDE от VAC++ 3-ей версии
- это объектно-ориентированность во всем: она прекрасно интегрируется
в WPS и предусматривает модульный дизайн приложений. Новые инструменты (tools)
могут быть интегрированы наряду со стандартными, и даже могут заменяться
(Например, можно приделать EMX-компилятор).
IDE от 4-ой версии VAC++
предоставляет замечательную возможность браузинга по коду проекта
самыми невероятными способами (независимо от сложности проекта). Это возможно благодаря
использованию базы данных codestore.
Найти альтернативу этих сред - намного сложнее, чем найти альтернативу компилятору.
Для тех, кто привык работать в 3.0 или 4.0, все остальные
предложения покажутся слабыми. Хотя, конечно, существуют мощные редакторы
(freeware или с открытыми исходниками), с возможностью подсветки синтаксиса,
возможностью выполнения компиляции, запуска дебагера.
OCL - октрытая библиотека классов
Все, кто пишет C++ программы, обязательно использует библиотеки
классов. И это особенно важно при программировании приложений,
работающих в графической среде Presentation Manager.
VAC++ содержит в своем составе OCL - "Open Class Library".
Библиотека корректно спроектирована, мощная.
Библиотека инкапсулирует основные структуры данных (стринги,
комплексные числа, контейнеры, и т.д.) и функции для
работы с графическим пользовательским интерфейсом PM.
Зато нет классов для работы с интернетом, которые, тем не менее,
можно взять из других библиотек.
Существует огромное количество альтернативных библиотек классов,
в основном платформо-независимых, портированных из других ОС.
А вот с PM-библиотеками (т.е. теми, которые инкапсулируют окна Presentation Manager'а и различные элементы управления)
все намного хуже.
OCL - это библиотека, которая реализует
PM-архитектуру самым натуральным образом, не откланяясь к парадигме
программирования Windows или Unix.
Другое концептуальное отличие 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. Не надо строить иллюзий, но будем надеяться на лучшее!
Попробуй программу:
|
DrWeb - eComStation PC вылечит зараженные компьютеры Windows.
|
Комментарии: Lazy 2001-08-23 23:44:32 | Такая пpоникновенная статья... Я сейчас поставлю четвёpку, посмотpю на неё. | Evgen 2001-08-24 16:19:47 | VAC4 - это точно такой же плод больного воображения, как и массированное использование эксепшенов С++ (например, для управления памятью)
Фишек много, красивостей куча - а не работает...
хелп в виде хтмл - это вообще или диверсия или последствия религиозного экстремизма..
ИМХО, как обычно - мое.
SY,
EK | VYX 2001-08-24 18:16:11 | VAC++ 4.0 нормальный компилятор. Для тех у кого разруха и неприяние С++ всегда есть что-нить типа pure asm или pure C и технологии времён R&K.
Обидно то, что IBM VAC++ 5.0 выпустило только для AIX. | Evgen 2001-08-24 18:19:57 | VYX'у на _компилятор_ никто не наезжает, а вот на все остальное...
По поводу С++ рекомендуется посмотреть исходники Проньюса. | MadInt13h 2001-08-24 18:20:11 | фигня все это. Ватком и комстрока рулит, остальное для мелокомягких оставим | VYX 2001-08-24 18:21:55 | проньюс оставим авторам. на пуре Ц можно пИсать ещё хуже (что и подтверждает волна гнусного софта). | VYX 2001-08-24 18:23:10 | Ватком рулит только для писания драйверов. не более (а на нём я проработал не один год). ком строка... она и в 4ке _есть_. | MadInt13h 2001-08-24 18:28:29 | Не, для драйверов как раз ватком не рулит из-за кривого инлайнового асма :(
А для остального как быстрейший компилер с классной оптимизацией, просто супер! | VYX 2001-08-24 18:37:48 | инлайновый asm у ваткома вполне приличен и крут. а оптимизация у него отстойная. впрочем, для фанов как известно нет ничгео кроме их фетиша. | MadInt13h 2001-08-24 18:42:00 | Ж)))
Как мне смешно... Что касается асма - то в него нельзя впихнуть даже пары десятков инструкций - "internal buffer overflow". Но это не беда, меня вполне устраивать wasm (хотя alp конечно круче).
| VYX 2001-08-24 18:46:35 | мне -- то же. 128 байт для _inline'a_ вполне хватает.
если надо больше, то менять надо в консеватории что-то... | MadInt13h 2001-08-24 18:51:19 | 128 - ублюдство. Мне как-то нехватило пары байт (на jump), из-за чего пришлось делать такую #опу :((((( | VYX 2001-08-24 18:55:57 | про консерваторию остаётся в силе. "одназначна" (С) | MadInt13h 2001-08-24 18:58:47 | "А вам в Кащенко.local" (C) (R) (TM) (Reserved)
У каждого свой стиль, имхо ;) | VYX 2001-08-24 19:03:43 | и Вам того же.
Стиль -- это одно. Восприятие мира -- несколько иное P) | MadInt13h 2001-08-24 19:09:14 | Чтож, тогда все с вами ясно, товарисчь.
Что касается VAC - то это отнюдь не лучший компилятор для оси. Просто единственный "выживший". А если бы были бы живы Borland/Metaware/TopSpeed, то я бы еще посмотрел, кто кого. | Игорь Ванин 2001-08-24 19:16:03 | MadInt13h, вот ты пишешь, что у Ваткома классная оптимизация. А в каком году был выпущен последний Ватком? 5 лет назад. То есть, под современные процессоры он оптимизировать совсем не умеет. | BigWolK 2001-08-24 19:16:41 | Насчет "выживший" - это еще спорный вопрос.
Единственный "выживший" - это emx/gcc ;] | MadInt13h 2001-08-24 19:19:49 | 2Игорь Ванин: что значит "современные"?
В то время как с космической скоростью AMD и Интель рожают свои процы, под "современные" процы оптимизить умеет только хороший asm-овщик. А самый нормальный VAC (вообще, единственный из всех) 3.08 - оптимизить вообще не умеет нормально :-/ | Игорь Ванин 2001-08-24 19:29:54 | Современные - хотя бы Pentium-II и P-!!!.
ICC 3.6.5, вроде бы, про P-II знает. Про VAC 4 не в курсе, но, наверное, тоже - они же примерно одного возраста. | MadInt13h 2001-08-24 19:39:07 | Watcom 11b вроде умеет mmx... А новых вроде во вторых интелях нет, только особенности исполнения инструкций конвеера итд. Что касается 3dnow - то тут дорога в асм. | Evegen 2001-08-24 20:43:00 | А ну-ка, подробнее - что такое 3dnow ?
| E.L. 2001-09-04 05:03:32 | Грустная новость - ICC 3.6.5/4.0 и ALP 5.01 - максимум MMX инструкции и CMOV-ы. Все остальное - в машинных кодах, please.
Но разве это не круто - написать препроцессор для ALP самому? | E.L. 2001-09-04 05:05:02 | Грустная новость - ICC 3.6.5/4.0 и ALP 5.01 - максимум MMX инструкции и CMOV-ы. Все остальное - в машинных кодах, please.
Но разве это не круто - написать препроцессор для ALP самому? |
Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).
|
|
Готовая eComStation на SSD диске
Последний активный опрос: Какая высота барьера RPM?
[Google]
|
IBM OS/2 Warp
|