СРАВНИТЕЛЬНЫЙ ОБЗОР
Microsoft поднимает производительность; Lahey сохраняет опции DOS, но испытывает недостаток в прочной интеграции
Хотите ли вы быстро создать хорошую программу или вам нужна хорошая быстрая программа? С выпуском новых систем разработки фирмы Lahey Computer Systems и корпорации Microsoft программисты, работающие на Фортране и желающие иметь и то, и другое, получили завидный ассортимент новых возможностей.
Увы, ни один из продуктов не является идеальным для всех цифродробильщиков, и некоторые разработчики, возможно, посчитают, что в состав полного пакета должны входить как Lahey FORTRAN 90 2.00а, так и Microsoft FORTRAN PowerStation 4.0.
FORTRAN PowerStation Professional Edition (цена $799), подобно другим языковым продуктам корпорации Microsoft, - часть наживки, которой приманивают разработчиков к платформе Windows. Выпущенный в ноябре пакет предоставляет широкие возможности переносимости кода, но его самые привлекательные особенности нацелены на то, чтобы наилучшим образом использовать Windows API (интерфейс прикладного программирования). (Стандартная версия FORTRAN PowerStation, в состав которой не входят математические библиотеки IMSL, стоит $599.)
Инструмент фирмы Lahey (цена $895), также вышедший в ноябре, поддерживает возможности разработки для DOS, что оценят на тех рынках встроенных средств, где графический интерфейс не нужен либо вообще не используется.
Lahey FORTRAN 90 - хорошая среда для работы из командной строки, прост в установке и управлении с использованием несложных файлов конфигурации. Редактор Windows ED, поставляемый с пакетом фирмы Lahey, - это инструмент иного класса, чем Developer Studio корпорации Microsoft. По результатам его совместного использования с FORTRAN PowerStation и с Visual C++ этот продукт получил в Тестовом центре PC Week Labs довольно высокую оценку.
Инструменты разработки
В среде Developer Studio корпорации Microsoft проявляются мелкие недоработки при использовании с Фортраном, а не с Си++, но технология Microsoft автоматического просмотра программного кода все же делает ее полезной. Нам понадобилось лишь несколько раз щелкнуть мышью, чтобы задать новый проект, добавить в него исходные фортрановские файлы и обнаружить, что Developer Studio предлагает графическое представление наших файлов и их взаимозависимостей.
Microsoft Developer Studio обеспечивает высокоуровневое представление связей
исходного файла, а также средства диагностики, отладки и анализа проектов
Среда корпорации Microsoft предлагает поддержку программистам, совершающим переход с Фортран #77 на более свежий Фортран #90. Например, когда мы во время глобальной замены случайно изменили тип переменной счетчика циклов на REAL, компилятор Microsoft выдал предупреждение (в режиме, соответствующем Фортран #90), что такое употребление является устаревшим. Компилятор Lahey не был столь полезным независимо от его установки в режим FORTRAN 90.
Редактор исходного кода ED системы Lahey (продукт третьей фирмы, лицензированный и доработанный фирмой Lahey) обладал некоторыми возможностями, которые мы предпочли подходу корпорации Microsoft. Редактор ED более строг в смысле цветового выделения синтаксиса. Он позволяет, например, придавать разный цвет целым константам и константам с плавающей точкой. В ED факт ошибочно поставленной или отсутствующей десятичной точки отражается значительно более наглядно.
Для редактора ED, входящего в состав Lahey FORTRAN 90, характерны синтаксическая
осведомленность и гибкая инструментальная палитра, однако неполная интеграция
ограничивает возможности его применения
Чтобы упростить передвижение по быстро размножающимся окнам, исходное окно редактора ED использует представление в виде записной книжки с закладками, нечто подобное тому, что сделано для языка Си++ в реализации корпорации Symantec. Как отмечалось выше, наилучшее лекарство от этого в Microsoft Developer Studio - монитор большого размера.
У компилятора Microsoft обнаружение ошибок и сообщения о них были более полными; он информировал нас о многих ошибках в ситуациях, когда компилятор Lahey выдавал сообщение только о первой найденной. Но даже в режиме командной строки компилятор Lahey давал нам ясные и точные указания о месте появления ошибки.
Нас весьма порадовала функция Data Tips пакета Developer Studio, в которой при наведении указателя мыши на имя некоторой переменной в окне редактирования исходной программы на экране будет высвечиваться текущее значение этой переменной в активном сеансе отладки.
Это очень помогло нам при переносе программы с другой платформы под Windows, когда мы пытались установить, почему происходит ее зависание. (Оказалось, что она искала файл ввода в другом каталоге, а не там, где мы полагали.)
Но ни одна из обсуждаемых здесь реализаций Фортрана не может сравниться с ActivAda фирмы Thompson или Кобол фирмы Micro Focus, когда речь идет о сочетании мощного языка с интегральными инструментами создания графического интерфейса (ГИП). Документация на Microsoft FORTRAN рекомендует для создания ГИП воспользоваться языком Visual Basic, а потом "прицепить" Фортран-программу для обработки данных; в состав продукта фирмы Lahey входит переносимая библиотека ГИП, однако в нем отсутствует технология "перетащи и оставь", имеющаяся в языковых продуктах фирм Thompson и Micro Focus.
Одна из особенностей, из-за которой хранят верность Фортрану, - это количество надежных библиотечных программ для разнообразных задач. В Professional Edition корпорации Microsoft включено два сборника: библиотеки IMSL (лицензированные у Visual Numerics) и библиотека Numerical Recipes, предоставленная Cambridge University Press.
Подпрограммы IMSL уже сами по себе являются огромным сборником с указателем объемом 55 страниц. Всего лишь три года назад пакеты IMSL для ПК стоили $1800 и больше, поэтому выпущенная сегодня более обширная библиотека может представлять существенную дополнительную ценность.
Имеется обширная интерактивная документация с продуманным набором утилит, таких, как автоматическое преобразование стандартных программ в формат с удвоенной точностью (с надлежащими предупреждениями относительно потенциальных ошибок усечения).
Книга по Numerical Recipes продается отдельно.
Производительность
Интересно, что при сравнении компилятор корпорации Microsoft показал лучший результат на нашей тестовой программе Tak (с ее акцентом на операции вызова/возврата функции в стиле языка Си), чем на классической тестовой программе Whetstone, широко используемой с компиляторами языка Фортран.
Мы подозреваем, что имеется изрядная доля общей технологии, разделяемой между семействами продуктов Фортрана и Си++ корпорации Microsoft, что ни в коей мере не является отрицательной чертой. Фактически мы были приятно удивлены легкостью, с какой ФОРТРАН корпорации Microsoft соперничал с Visual C++ 4.0 в тестах Tak с переменными двойной точности с плавающей точкой (Real*8).
Однако для тестовой программы Whetstone, которая в большей степени дает представление о задачах, где обычно используется Фортран, компилятор фирмы Lahey генерировал существенно более быстрый код. Мы считаем, что давали обоим компиляторам наилучшую возможность проявить их скоростные качества, выбирая максимальную оптимизацию, не заботясь о безопасности и скорости компиляции.
Довольно часто мы наталкивались на выдаваемое компилятором фирмы Lahey сообщение, что ему не хватает памяти и компиляция не может быть завершена, причем это происходило на довольно небольших программах.
Мы не смогли установить причину, и эта проблема никогда не преследовала нас после закрытия текущего окна DOS и открытия нового сеанса (наши тесты проводились под Windows 95). Однако разработчикам, интересующимся этим продуктом фирмы Lahey, возможно, придется обратить на это внимание.
Система Lahey значительно компактнее продукта корпорации Microsoft, но в последнюю входят такие "конфетки", как вышеупомянутые объемистые математические библиотеки IMSL. Все это обращено к программистам, которые, возможно, рассматривают переход от дорогостоящих рабочих станций под Unix к более мощным в расчете на 1 доллар ПК под Win32.
Кроме того, Microsoft, как обычно, предусматривает широкий диапазон возможностей по инсталляции, предоставляя разработчикам уже готовый компромисс между производительностью системы и занятым местом на жестком диске.
Базовая архитектура
Многочисленным усовершенствованиям "диалекта" языка Фортрана 90 посвящена отдельная статья.
Фортран 90 по сравнению с Фортран 77 является значительно менее трудоемким для написания программ и значительно более привлекательным для их чтения. Мы призываем все вычислительные центры, интенсивно использующие Фортран, придать высокий приоритет плану перехода на Фортран 90 (или как вариант на Ada 95).
Однако ни один из этих продуктов не имеет встроенной поддержки работы группы программистов, включая управление версиями, которые есть, например, в Си++ фирмы Symantec или в Microsoft Visual Basic Professional Edition.
В одном отношении мы по-настоящему оценили проворство Microsoft Developer Studio: использование другого инструмента для изменения файла исходной программы, который открыт в Developer Studio, немедленно включает предупреждение и предложение произвести перезагрузку файла. Очень милая и удобная форма управления в минимальной конфигурации.
Поддержка платформ и документация
Для Windows-ориентированной среды FORTRAN PowerStation был замечательно "непредубежденным" в отношении генерации либо консольных (текстовый режим), либо ГИП-приложений. Компилятор фирмы Lahey тоже легко переключался между генерацией приложения, работающего в текстовом режиме или в графическом окне.
Однако, по нашему мнению, очень ценно также то, что компилятор Lahey может создавать приложения, работающие под DOS-Extender, используя лицензированный у фирмы Phar Lap расширитель, включенный в состав этого продукта.
Интерактивная документация корпорации Microsoft превосходна, как и толстые, но хорошо организованные справочники (в которых аквамариновым цветом выделены разделы, описывающие расширения, внесенные корпорацией Microsoft в стандарт Фортрана 90).
Справочники фирмы Lahey тоньше и чуть более прямолинейны в подаче подробностей, но совершенно адекватны и отвечают на все вопросы, возникшие в процессе нашего тестирования.
Фирма Lahey славится своей технической поддержкой, она регулярно выпускает обновленные версии и уделяет пристальное внимание даже самым экзотическим вопросам. Контактировать с фирмой Microsoft не так просто, но Фортран-реализации обеих фирм были удачно представлены в дискуссионных областях CompuServe, обслуживающих как пользователей, так и производителей.
ПИТЕР КОФФИ
СИЛЬНЫЕ СТОРОНЫ
Инструменты фирмы Lahey объединяют привлекательный редактор исходных текстов программ и мощный компилятор, а корпорация Microsoft обеспечивает более богатую возможностями среду
КАЖДЫЙ ФОРТРАН СИЛЕН ПО-СВОЕМУ
Фортран от Microsoft по проворству вызова функций не отстает от Си;
версия от Lahey лидирует в выполнении классических фортрановских петель
МЕТОДИКА ТЕСТИРОВАНИЯ
Сотрудники PC Week Labs проинсталлировали и протестировали системы разработки на языке Фортран корпорации Microsoft и фирмы Lahey Computer Systems под Windows 95 на машине P90PCI фирмы Micron Electronics с 90 МГц процессором Pentium и 16 Мб ОЗУ.
Оба продукта уведомляли нас о наличии дефекта при работе процессора Pentium нашей тестовой машины в режиме с плавающей точкой (что не влияло на результаты тестирования).
Измерения производительности выполнялись при агрессивной оптимизации, включающей генерацию специализированного Pentium-кода и выбора в пользу скорости, а не экономии дисковой памяти и времени компиляции.
Мы протестировали обе Фортран-системы на тестовом примере, поставленном производителем, и на учебной программе, а также на нашем собственном тесте Tak и версии теста Whetstone, написанной Курноу и Уичманном в 1986 г.
CORPORATE SCOREBOARD
СИСТЕМЫ РАЗРАБОТКИ НА ФОРТРАНЕ
+----------------------+----------------------+----------------------+
| | Lahey FORTRAN 90 |FORTRAN PowerStation |
| | 2.00a | 4.0 |
| | Lahey Computer | Microsoft Corp. |
| | Systems, Inc. | |
+----------------------+----------------------+----------------------+
|ИНСТРУМЕНТЫ РАЗРАБОТКИ |
+----------------------+----------------------+----------------------+
|Создание исходного | ПРИЕМЛЕМО | ХОРОШО |
|прототипа : | | |
+----------------------+----------------------+----------------------+
|Добавление/улучшение | ПРИЕМЛЕМО | ПРИЕМЛЕМО |
|элементов интерфейса | | |
+----------------------+----------------------+----------------------+
|Просмотр и | ХОРОШО | ОТЛИЧНО |
|редактирование | | |
|исходного кода | | |
+----------------------+----------------------+----------------------+
|ПРОИЗВОДИТЕЛЬНОСТЬ |
+----------------------+----------------------+----------------------+
|Скорость обработки | ОТЛИЧНО | ОТЛИЧНО |
+----------------------+----------------------+----------------------+
|Работа в | ОТЛИЧНО | ОТЛИЧНО |
|интерактивном режиме | | |
+----------------------+----------------------+----------------------+
|Использование и | ОТЛИЧНО | ХОРОШО |
|требования к ресурсам | | |
+----------------------+----------------------+----------------------+
|БАЗОВАЯ АРХИТЕКТУРА |
+----------------------+----------------------+----------------------+
|Развитость языка | ОТЛИЧНО | ОТЛИЧНО |
|программирования | | |
+----------------------+----------------------+----------------------+
|Поддержка управления | ОТСУТСТВУЕТ | ОТСУТСТВУЕТ |
|версиями | | |
+----------------------+----------------------+----------------------+
|Поддержка групповой | ПЛОХО | ПРИЕМЛЕМО |
|разработки | | |
+----------------------+----------------------+----------------------+
|ПОДДЕРЖКА ПЛАТФОРМ |
+----------------------+----------------------+----------------------+
|DOS | ХОРОШО | ОТСУТСТВУЕТ |
+----------------------+----------------------+----------------------+
|Windows | ХОРОШО | ОТЛИЧНО |
+----------------------+----------------------+----------------------+
|Unix | ОТСУТСТВУЕТ | ОТСУТСТВУЕТ |
+----------------------+----------------------+----------------------+
|Macintosh | ОТСУТСТВУЕТ | ОТСУТСТВУЕТ |
+----------------------+----------------------+----------------------+
|OS/2 | ОТСУТСТВУЕТ | ОТСУТСТВУЕТ |
+----------------------+----------------------+----------------------+
|ДОКУМЕНТАЦИЯ И ПОДДЕРЖКА |
+----------------------+----------------------+----------------------+
|Легкость установки и | ХОРОШО | ОТЛИЧНО |
|изучения | | |
+----------------------+----------------------+----------------------+
|Справочные материалы | ХОРОШО | ОТЛИЧНО |
+----------------------+----------------------+----------------------+
|Поддержка | ОТЛИЧНО | ХОРОШО |
|производителем | | |
+----------------------+----------------------+----------------------+
CORPORATE BUYERS’ ADVISORY
СИСТЕМЫ РАЗРАБОТКИ НА ФОРТРАНЕ
Lahey FORTRAN 90 2.00a
Lahey Computer Systems Inc. (800) 548-4778 (702) 831-2500 http://www.lahey.com
ДОСТОИНСТВА: Высокое быстродействие на традиционных задачах; многообразные варианты внедрения; широкие возможности специализации.
НЕДОСТАТКИ: Ограниченная интеграция инструментальных средств; отсутствует поддержка графических интерфейсов пользователя.
FORTRAN PowerStation 4.0
Microsoft Corp. (800) 426-9400 (206) 882-8080 http://www.microsoft.com
ДОСТОИНСТВА: Замечательные инструменты повышения производительности; тесная интеграция с платформой Win32; удобное средство разработки на смешанных языках.
НЕДОСТАТКИ: Ограниченная синтаксическая осведомленность редактора; внешняя поддержка графического пользовательского интерфейса.
РЕЗЮМЕ: Работающие на Фортране программисты, программы которых слишком велики по размеру, но просты по архитектуре, найдут, что система FORTRAN 90 фирмы Lahey проста для установки и автоматизации, и оценят превосходное качество ее кода и техническую поддержку. Те, кто использует накопленный код, пишет новые системы со сложными модульными связями или желает в полной мере воспользоваться возможностями платформы Win32, предпочтут среду Developer Studio продукта FORTRAN PowerStation корпорации Microsoft. Однако сотрудники Тестового центра PC Week Labs не удивятся, если многие предпочтут приобрести оба великолепных инструмента: продукт Microsoft - для разработки, а продукт Lahey - для производства.