Андрей Колесов, Сергей Поздняков
Digital сменяет Microsoft
В начале 1997 г. Microsoft объявила о прекращении своей деятельности по развитию средств разработки на базе языка Фортран. Данное решение тогда вызвало явную озабоченность программистов, пишущих на Фортране, который продолжает оставаться весьма популярной системой в сфере математических расчетов. Довольно значительная часть задач решается именно на ПК, а для них Фортран-инструменты Microsoft занимали лидирующие позиции. Следует напомнить, что речь шла о трех выпущенных в 90-х годах пакетах, которые довольно широко применяются и в настоящее время:
- MS Fortran 5.1 (выпуск 1990 г.). Система для MS-DOS, позволяющая создавать 16-разрядные DOS-приложения, способные работать с оперативной памятью до 64 Мб;
- MS Fortran PowerStation (FPS) 1.0 (1993 г.). Разработка и отладка программ ведется в среде Windows, в результате чего получаются 32-разрядные приложения для DOS, использующие до 4 Гб оперативной памяти;
- MS Fortran PowerStation 4.0 (1995 г.). Создание 32-разрядных приложений под Windows 95 и NT. Полная поддержка стандарта Fortran-90.
Однако уход Microsoft сопровождался заключением соглашения с корпорацией Digital Equipment, по которому последняя лицензировала среду MS Developer Studio для своего нового пакета Visual Fortran (DVF) 5.0 под Windows NT (Intel, Alpha) и Windows 95. В обращении к своим пользователям Microsoft рекомендовала для будущего обновления именно пакет DVF 5.0. Таким образом, Digital, имевшая многолетний опыт создания средств разработки для Фортрана (в основном для Unix-систем), получала отличную возможность продвинуться в сферу ПК. А Microsoft не только продавала свою среду разработки, но и обеспечивала тем самым высокую степень интеграции собственных инструментальных средств с новым продуктом Digital.
Переходя к характеристике основных возможностей DVF 5.0, о выпуске которого было официально объявлено весной 1997 г., мы рассмотрим их с точки зрения трех главных компонентов - самого языка программирования, среды разработки и вариантов получения законченных приложений, обратив особое внимание на новшества DVF 5.0 по сравнению с FPS 4.0.
Основные характеристики DVF 5.0
Компилятор DVF 5.0 (как и FPS 4.0) поддерживает три основных стандарта языка - FORTRAN 66, FORTRAN 77 и Fortran 90. Кроме того, в нем можно использовать большое число специфических расширений языка, имеющихся в FPS 4.0, а также в Digital Fortran, для других компьютерных платформ. DVF 5.0 включает также все новшества самого последнего стандарта языка - Fortran 95. Однако варианта компиляции в режиме Fortran 95 как такового в DVF 5.0 нет, поскольку к моменту выпуска продукта этот стандарт еще не был официально утвержден.
В DVF 5.0 используется интегрированная среда разработки Developer Studio, которая применяется в качестве основы всего семейства средств разработки Microsoft (ее предыдущий вариант имелся и в FPS 4.0). Она представляет собой многооконный редактор текста с широкими возможностями настройки среды и включает целый ряд универсальных средств: отладчик кода, встроенную справочную систему, профайлер для изучения частоты обращения к отдельным частям программы, средство просмотра структуры программы и межпроцедурных ссылок, редактор для создания компонентов графического интерфейса пользователя и пр. В рамках одного проекта можно использовать исходные модули, написанные на разных языках, что существенно упрощает разработку приложений методом смешанного программирования, в том числе на VC++, VB, VJ++ и MASM.
С помощью DVF можно получать библиотеки подпрограмм (статические OBJ и динамические DLL) и исполняемые модули. Для создания законченных приложений разработчик может выбрать один из следующих типов исполняемых модулей.
- Console application. Такая программа вообще не содержит графики и реализует наиболее простую форму диалогового интерфейса -ввод данных в традиционном стиле MS-DOS. Это самый быстрый и наиболее легко переносимый на другие платформы тип рабочей программы.
- Standard Graphics. Данный вариант исполняемого модуля имеет однооконный графический интерфейс. Его рекомендуется применять в тех случаях, когда есть необходимость графического вывода, но не нужен развитой интерфейс пользователя.
- QuickWin Graphics Application. При создании модуля этого типа используется библиотека QuickWin, позволяющая применять сокращенный набор функций WinAPI 32, с помощью которого можно создать многооконный интерфейс.
- Win32 Application. Этот модуль является полнофункциональным Windows-приложением, которому доступны все ресурсы WIN32 API.
Все эти варианты Fortran-приложения были реализованы и в FPS 4.0.
Новшеством DVF 5.0 является встроенное средство Fortran Module Wizard, которое обеспечивает генерацию исходных модулей на языке Fortran 90 для обращения к процедурам DLL-библиотек, методам ActiveX-объектов, а также функциям COM-серверов. Формирование текстов этих модулей производится в автоматическом режиме в процессе заполнения экранных форм, запрашивающих информацию об объекте.
DVF 5.0 поставляется в двух редакциях - Standard и Professional. Последняя появилась в конце 1997 г. и дополнительно включает известную математическую библиотеку IMSL фирмы Visual Numerics, которая входила ранее и во все Фортран-инструменты Microsoft.
Стоимость данных редакций DVF 5.0 составляет соответственно 599 и 799 долл., причем документацию и лицензию можно приобрести отдельно. Имеются льготные цены для пользователей Фортран-инструментов (причем не только от Digital и Microsoft). Научные бюджетные институты и вузы могут приобрести пакет с “академической” скидкой.
Переходить ли на DVF 5.0
По нашему мнению, Фортран продолжает оставаться наиболее оптимальным средством для решения задач с применением методов вычислительной математики. Используя его, вы можете не думать о том, на каких типах компьютеров будут работать ваши расчетные модули через десять-двадцать лет. Освоить работу с ним гораздо проще, чем изучить премудрости Си или Паскаля. При этом, имея хороший инструмент для вашего класса задач, вы сможете полностью сосредоточиться на исследовании соответствующих математических задач.
Однако нужно иметь в виду ситуацию, которая сложилась, например, в области разработки систем математического моделирования. Как правило, пакеты для этих целей состоят из двух независимых частей: расчетной части (EXE-модуль или DLL-библиотека) и интерактивной диалоговой Windows-оболочки. Обычно разработку расчетного модуля выполняют научные сотрудники - специалисты в некоторой предметной области, а разработку оболочки - профессионалы-программисты, весьма далекие от математической постановки задачи. Для создания расчетной части наилучшим образом подходит вариант модуля, скомпилированного на Фортране в режиме Win32 console. Что же касается программ-оболочек, то они, как правило, пишутся на VB, Delphi или VC++.
С учетом этого переход на DVF 5.0 можно однозначно рекомендовать тем специалистам, кто еще работает с MS Fortran 5.0 или FPS 1.0. А вот перед заменой FPS 4.0 надо хорошо подумать. Представляется, что принципиально новые возможности DVF 5.0 - создание полноценных Windows-приложений с развитым интерфейсом в режиме Win32 и работа с COM-объектами - будут пока не очень привлекательны для разработчиков расчетных модулей. Примерно то же самое можно сказать о значимости функциональных расширений компилятора DVF 5.0 или о его преимуществах в эффективности кода. Однако в ближайшее время интерес к новым версиям компилятора DVF повысится, что будет связано с переходом на стандарт Fortran 95, а также с оптимизацией результирующего кода, учитывающей нововведения архитектуры процессоров Intel.
Представляется, что уже сегодня DVF 5.0 может эффективно использоваться для обучения студентов технических и естественно-научных специальностей. С одной стороны, он позволит студентам работать с огромным вычислительным наследием прошлого, а с другой - предоставит им возможность попробовать свои силы в написании современных Windows-программ с помощью одного инструмента.
По полноте и качеству документации DVF 5.0 заметно уступает FPS 4.0. Однако Digital уже выпустила довольно большое количество исправлений и дополнений как для самого программного пакета, так и для документации, которые доступны на Web-странице Digital (www. digital.comfortran). Там же можно найти много полезных свободно распространяемых утилит, обзоры книг по Fortran 90 и 95, статьи по данной тематике, а также большой раздел вопросов и ответов.
DVF 5.0 в России
Продвижению DVF в нашей стране может препятствовать целый ряд трудностей. Ведь Digital и ее российские партнеры никогда не работали с коробочными продуктами, рассчитанными на конечного потребителя. Не очень приятным известием для потенциальных пользователей Фортрана в НИИ и университетах страны является то, что стоимость даже “академических” версий DVF 5.0 почти в три раза выше, чем у FPS 4.0.
Продукты MS Fortran не получили в России широкого распространения, но благодаря отлаженным каналам поставок они были доступны всей разветвленной сети дилеров Microsoft. С точки зрения пользователей, было бы очень хорошо, если бы московское отделение Digital внесло местное дополнение к договору о стратегическом сотрудничестве с Microsoft об использовании российских каналов и службы технической поддержки последней (в частности, по программе “Авторизованный дилер по средствам разработки”, реализацией которой занимается фирма “Диалог.СФТ”). Тем более, что даже в документах Digital пакет DVF 5.0 относится к семейству визуальных инструментальных средств Microsoft.
По мнению представителей фирмы “Диалог.СФТ”, препятствием для такого сотрудничества является практика прямых продаж со стороны Digital и отсутствие скидок для дилеров. Так или иначе, но если год назад FPS можно было купить со склада в Москве, то теперь покупателям предстоит дожидаться его поставки из США.
По вопросу приобретения DVF 5.0 можно обратиться в московский офис Digital по телефону: (095) 244-9540.
Стандарт Fortran 95
В 1995 г. Международная организация по стандартам (ISO) предложила проект нового стандарта языка - Fortran 95. Он был принят взамен Fortran 90 в октябре 1996 г. Однако Американский национальный институт по стандартам (ANSI), на решения которого ориентируются все разработчики США, утвердил этот стандарт лишь летом 1997 г.
В стандарт Fortran 95 включено 17 новых функций, многие из них являются расширением существовавших операторов языка. Одновременно из него удалено пять старых конструкций. Кроме того, составлен список устаревающих операторов - кандидатов на удаление при следующей ревизии стандарта. В целом нововведения в Fortran 95 представляются не очень существенными, большинство из них уже было реализовано во многих компиляторах как неофициальные расширения языка. Во всяком случае, эти нововведения не идут ни в какое сравнение с революционными изменениями, произошедшими при переходе к Fortran 90. С более подробным описанием стандарта Fortran 95 можно ознакомиться по адресу: www.npac.syr.edu/users/haupt/F90/F95/f95.html.
С авторами статьи можно связаться по адресам: akolesov@glasnet.ru, spozdniakov@glasnet.ru.