[[ header START ]]

Welcome to OS2.GURU site! (eComStation.RU)

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:
telegram

Форум обсуждение

telegram

Send message

telegram

[ +7-981-8529467 (Санкт-Петербург)

telegram

t.me/os2_guru

OS/2 GURU


ru · en · de · es · it · pt · cz · pl · fr
OS/2 - это совершенно другая операционная система для PC (ArcaOS, eComStation, IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
[Что такое OS/2?  Новости  Установка  Обновление  
 
 
Применение  Будущее  Сообщество  Проекты  

eCo Software
не получает вознаграждение
из США

[Как заработать в OS/2?

Как купить OS/2 дискету?

Идеи для фанатов OS/2

*

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

Обновите 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

К?О?П?И?Я
?????Оригинал этой статьи находится на сайте ?????
http://www.os2.ru
Будущее IBM VisualAge C++ для OS/2
Visual Age logo Источник: http://en.os2.org/forum/editorial/
Автор статьи: Cornelis Bockemщhl
Дата публикации статьи: 1.10.2000
Перевод: Евгений Горбунов
Дата публикации руссифицированной версии статьи на www.os2.ru: 30.10.2000

Что происходит с 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++:

  1. GNU C/C++, с EMX от Eberhard Matthes: в перую очередь полезна для последователей "Open Sources"-подхода. (ран-тайм библиотека этого компилятора (набор emx-dll'ей) стала стандартом де-факто для всех OS/2 систем)
  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 самому?

Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).


Ваше имя:

Ваш E-Mail:

CODE:
......

  

Ваш комментарий:


Как получить скидки и бонусы? Ответ: сделай полезное дело для сообщества. Посчитай свой уровень.

Статьи

Операционная система
Программное обеспечение
Оборудование
Для разработчика
Разное
Колонка редактора


Готовая eComStation на SSD диске

 





Последний активный опрос: Какая высота барьера RPM?

[Google]

IBM OS/2 Warp

 
Обучение новичков

Отчет: OS/2 совместимое оборудование

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2021 eCo Software, All rights reserved
Сибирский Медведь технологическая компания
eComStation Serenity Systems International • OS/2 Warp IBM Corporation • ArcaOS Arca Noae