Original:http://www.cs.rpi.edu/~szymansk/OOF90/main.html


StudyWeb



Виктор К. Дечик, Чарльз Д. Нортон и Болеслав К. Шимански

Добро пожаловать на нашу страницу WWW, представляющую наши исследования в области объектно-ориентированного программирования с использованием языка программирования Fortran 90. Fortran 90 - это современный язык, который представляет много важных новых функций, полезных для научного программирования. В то время как заметка о синтаксисе массива получила наибольшее внимание, мы обнаружили, что многие современные технологии разработки программного обеспечения могут поддерживаться этим языком, включая объектно-ориентированные концепции.

Хотя Fortran 90 не является полным объектно-ориентированным языком, он может напрямую поддерживать многие важные концепции таких языков, включая абстрактные типы данных, инкапсуляцию, перегрузку функций и классы. Другие концепции, такие как наследование и динамическая диспетчеризация, не поддерживаются напрямую, но могут быть эмулированы. (Прямая поддержка - это требование Fortran 2000.) Поскольку Fortran 90 обратно совместим с Fortran 77, новые концепции могут быть введены в существующие программы контролируемым образом. Это позволяет опытным программистам Fortran 77 модернизировать свое программное обеспечение, что упрощает его понимание, модификацию, совместное использование, объяснение и расширение на основе преимуществ, обеспечиваемых современными принципами программирования.

Для краткого изложения основных моментов см. «Выражение объектно-ориентированных концепций в Fortran 90» , появившееся на Форуме ACM Fortran, том. 16, номер. 1, апрель 1997 года.

См. Также «Введение в объектно-ориентированные концепции с использованием Fortran 90».

У нас также есть документ, в котором рассматриваются и исправляются распространенные заблуждения относительно сопоставлений Fortran 90 и C ++ для научных вычислений. В частности, мы обсуждаем «Как поддерживать наследование и полиморфизм времени выполнения в Fortran 90» , VK Decyk, CD Norton и BK Szymanski. Вот версия постскриптума.

В статье, подробно описывающей, как конструкции C++ и объектно-ориентированные идеи могут быть смоделированы в Fortran 90, можно ознакомиться в разделе «Как выражать концепции C ++ в Fortran 90» , VK Decyk, CD Norton и BK Szymanski.

Мы написали множество объектно-ориентированных программ для плазменных частиц в ячейках на последовательных рабочих станциях и высокопроизводительных компьютерах с распределенной памятью в Fortran 90 и C++. Все наши программы Fortran 90 выполняются быстрее, чем эквивалентные версии C++, но возможности моделирования абстракций, которые нам нужны, были сравнительно мощными. Мы рекомендуем вам ознакомиться с этими страницами и связаться с нами напрямую с вашими вопросами и комментариями.

Попался! Нажмите здесь для ошибок Fortran 90.

Нажмите здесь, чтобы изучить результаты с абстрактными типами данных.

Для новичков в Fortran 90 мы рекомендуем F, язык подмножества, который включает в себя все новые современные функции Fortran 90 и исключает менее желательные функции. F простой, недорогой и поощряет хороший стиль программирования, совместимый с Fortran 90.

Для вводных примеров Fortran 90, написанные старшеклассниками, мы рекомендуем посмотреть «Научную визуализацию» .



Подтверждения

Исследование Виктора К. Дечика проводилось частично в UCLA и спонсировалось US-DOE и NSF. Он также был частично выполнен в Лаборатории реактивного движения Калифорнийского технологического института по контракту с Национальным управлением по аэронавтике и исследованию космического пространства. Исследование Чарльза Д. Нортона было поддержано Национальной Программой Исследователей Студенческих Исследователей по Аэронавтике и Космическому Исследованию и НСФ. Исследование Болеслава К. Шимански частично поддерживалось NSF. Мы высоко ценим поддержку Роберта Д. Ферраро, Руководителя проекта NASA HPCC, Лаборатории реактивного движения Калифорнийского технологического института. Части этого исследования основаны на разделах докторской диссертации Чарльза Нортона.

Пожалуйста, свяжитесь с нами по поводу ваших вопросов и комментариев.