Welcome to eComStation.RU site!

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

Frequently asked questions and answers:

eComStation.RU

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

 
 
Списки протестированного OS/2 оборудования
Как получить драйверы OS/2 бесплатно

 
Обновление

 
Программы

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

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

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

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

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

 
История (1):

 
(Бонусы)

 
Советы:

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

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

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

 

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

 
Новая eComStation:

 
Будущее: (1)

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

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

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

 
Гаджеты

 

Будущее 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. Не надо строить иллюзий, но будем надеяться на лучшее!

Попробуй программу:

Panorama VESA - быстрый видеодрайвер для многопроцессорных компьютеров.

Комментарии:

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/Rus может бесплатно зарегистрировать несколько полезных программ (общая стоимость которых > 6000 руб). Дисковые утилиты, программы для интернета, расширители рабочего стола. Нужны ли тебе эти программы?

Статьи

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


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

 





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

IBM OS/2 Warp

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

Списки протестированного OS/2 оборудования

 
Статьи


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

 

 
Картинка дня: