Стандарты Фортрана
Зачем нужны стандарты. Цели стандартзации языка
Стандартизация языков программирования создает предпосылки для повышения мобильности программного обеспечения для компьютеров любой архитектуры. Стандартизация Фортрана является одной из причин долгожительства языка, так как именно благодаря стандартизации обеспечена возможность использования огромного фонда прикладных программ, которые созданы за десятилетия существования языка.
В рамках ANSI (NCITS) и ISO были разработаны стандарты - Фортран 66, Фортран 77, Фортран 90, Фортран 95, Фортран 2003 и Фортран 2008.
Игнорирование международных стандартов приводит к большим затратам при адаптации программ к другой вычислительной среде. Следовать стандартам рекомендуется как разработчикам системного программного обеспечения, так и прикладного.
Компилятор, соответствующий стандарту Фортрана, может содержать дополнительные средства, не предусмотренные стандартом. Однако программист, использующий дополнительные средства, должен понимать, что они могут отсутствовать при переносе его программы в другую вычислительную среду.
К сожалению, в литературе (на русском языке), содержащей описание конкретных реализаций, не всегда четко разграничивается, какие черты являются нестандартными, какие черты являются конкретизацией процессорно-зависимых свойств. Это затрудняет разработку мобильных программ. Программист, который воспользуется подобным описанием, может попасть в затруднительное положение. Еще больше проблем возникает, если прикладная программа ориентирована на реализацию, которая не соответствует стандарту. Затраты на переделку программы для использования в другой вычислительной среде в некоторых случаях могут быть сопоставимы с разработкой новой программы.
Кто и как разрабатывает международные стандарты языка Фортран
Международные стандарты языка являются результатом совместной деятельности экспертов многих
стран. Ответственным за стандартизацию языков программирования на международном уровне
является подкомитет 22 (SC22), входящий в состав Объединенного технического комитета
JTC1 Международной организации по стандартизации
ISO и Международной электротехнической комиссии (IEC).
Непосредственной работой по стандартизации языков программирования, поддержкой уже действующих стандартов и разработкой общих требований к стандартам на языки программирования занимаются эксперты разных стран, объединенные в соответствующие рабочие группы подкомитета SC22.
Стандартизацией языка Фортран занимаются Американский технический комитет NCITS/J3 и эксперты рабочей группы WG5 (указанного подкомитета). Членами WG5 являются специалисты многих стран, в т.ч. и нашей страны. В их числе представители компьютерных фирм, крупных университетов. Многие из тех, кто ответствен за разработку коммерческих Фортран-компиляторов, являются членами J3 и/или WG5.
Представители национальных рабочих групп и все заинтересованные специалисты имеют возможность присылать свои предложения, комментарии, замечания. По результатам международного обсуждения всех поступивших предложений и дальнейшего голосования принимаются все принципиальные решения.
Многие вопросы обсуждаются заочно, путем обмена информацией по электронной почте. По электронной почте также производится неформальное голосование. Примерно один раз в год рабочая группа WG5 собирается на совещание для обсуждения текущих вопросов и выработки соответствующих решений.
Современные стандарты Фортрана и стандартные расширения
Помимо основного - базового языка разработаны две дополнительные части.
Вторая часть стандарта содержит описание средств для работы с
символьными строками переменной длины.
Третья часть определяет описание языка условной компиляции.
Кроме того, разрабатываются Технические отчеты (TR), которые позволяют стандартизировать некоторые новые черты, не дожидаясь завершения разработки будущего стандарта. Так, TR15880 и TR15881 рассматривались как расширения Фортрана 95, затем описанные в них средства вошли в Фортран 2003. В настоящее время рассматриваются два Технических отчета:
- Technical Report (Type 2) on Enhanced Module Facilities, ISO/IEC 19767: 2005(E) - расширение Фортрана 2003;
- Technical Report (Type 2) on Further Interoperability of Fortran with C, work in progress.
© Лаборатория Параллельных информационных технологий, НИВЦ МГУ