Современный язык с преимуществами FORTRAN?

В последнее время я много работал с FORTRAN 77, и хотя сначала у меня были оговорки, теперь я вижу некоторые замечательные качества языка Это:

  • Простота в изучении (без сложностей с объектно-ориентированным или функциональным программированием)
  • Легко читаемая
  • Быстро простирается при обработке чисел

Эти качества естественно привлекательны для инженеров, не занимающихся программированием, и ученые, которые просто хотят, чтобы компьютер был быстрым, дают ответы быстро. Но у этого есть много ограничений, основанных на его возрасте и некоторых из его основных предположений. Я скептически отношусь к тому, как легко непрограммисты могут понять некоторые дополнительные возможности более поздних версий Fortran.

Существует ли современный язык, такой же простой, как FORTRAN, такой же быстрый для математических приложений и менее ограниченное? Или это ответ Фортран 90, 95, 2003. , , ?

12
задан PeeHaa 3 November 2013 в 17:30
поделиться

8 ответов

Или это ответ Fortran 90, 95, 2003 . . . ?

Да. Fortran 95, поддерживаемый большинством компиляторов, - это язык, который вы ищете. Однако в Fortran 2003 есть некоторые важные улучшения (помимо ненужной с вашей точки зрения поддержки ООП), которые могут быть полезны. Поддержка компилятором стандарта Fortran 2003 .

17
ответ дан 2 December 2019 в 03:06
поделиться

Возможно, перед вами MATLAB. Многие инженеры изучают его, поэтому я думаю, что непрограммистам в нем легко разобраться.

Если вы хотите получить хардкор, посмотрите на J.

4
ответ дан 2 December 2019 в 03:06
поделиться

Что касается наиболее прямого ответа на ваш вопрос, я думаю, что ответ kemiisto правильный, с оговорками, определенными Idigas .

Тем не менее, я обнаружил, что больше моего числового кода вступает в контакт с такими вещами, как FTP, Интернет и ближе к графике. Я видел, что MATLAB предлагается в другом ответе, но я пишу все больше и больше Python (с NumPy) и обращаюсь к Фортрану, когда мне нужна скорость. Я почти наверняка не стал бы писать таким образом всю систему (например, целую модель численного прогноза погоды), но это позволяет мне во многих отношениях использовать лучшее из обоих миров.

6
ответ дан 2 December 2019 в 03:06
поделиться

Я думаю, что Fortran 95 должен быть вашим выбором, он выглядит более современным и значительно расширяет Fortran 77. Стандарт Fortran 2003 не полностью поддерживается большинством компиляторов. Большим преимуществом Fortran является то, что существует оптимизированная подпрограмма для каждой математической задачи (такой как поиск корня, умножение матриц, задачи на собственные значения и т. Д.). Другие люди упоминали устаревшие библиотеки, и Lapack - лишь один из очень ярких примеров. Главный недостаток Фортрана в том, что его никто не использует в реальном мире.

На мой взгляд, лучшая книга - «Fortran 90/95 для ученых и инженеров».

Конечно, все другие предложения верны, но Matlab не бесплатен, в то время как Fortran является бесплатным.

Python бесплатен и поддерживает множество научных приложений с помощью дополнительных пакетов, таких как Numpy и Scipy. Однако, когда дело доходит до числовой производительности, Python работает довольно медленно. Вероятно, это хороший вариант для небольших проектов, не требующих больших вычислительных мощностей. Синтаксис очень прост для понимания.

C , конечно, тоже бесплатный, и в нем доступно множество (постоянно обновляемых) научных библиотек. Однако, когда дело доходит до удобочитаемости, он не может превзойти Фортран. Фортран хорошо настроен для работы с векторами и массивами.

C ++ - это надмножество C, так что это определенно возможный выбор. Однако этот язык может оказаться слишком сложным для решения тех проблем, с которыми вы сталкиваетесь. Количество научных библиотек C ++ довольно ограничено.Есть некоторые, но они не могут превзойти версии Fortran (или являются просто оболочками от них). Вероятно, это очень хороший вариант для очень больших проектов, но некоторые очень большие программы, которые работают на самых быстрых компьютерах в мире, написаны на Фортране. C ++ определенно стоит изучить, поскольку он используется для большого количества реальных приложений.

Конечно, существуют и другие языки или инструменты, но я думаю, что они наиболее часто используются в научных дисциплинах.

2
ответ дан 2 December 2019 в 03:06
поделиться

Если вы действительно заинтересованы в использовании Fortran, вы можете рассмотреть возможность использования Fortran для Microsoft.NET . Идея этого проекта заключается в том, что он позволяет вам использовать язык Fortran , используя преимущества среды управляемого кода через Common Language Runtime (CLR).

1
ответ дан 2 December 2019 в 03:06
поделиться

Я предполагаю, что вы рассматриваете небольшие специализированные программы, написанные для решения конкретных проблем. В этом случае, если вас действительно беспокоит сложность объектно-ориентированного программирования, я бы просто написал приложение на C # или Java и не использовал объектно-ориентированный объект. Visual Basic в наши дни тоже должен быть чертовски быстрым.

В наши дни почти все компилируемые языки будут математически быстрыми, все операции выполняются на математическом сопроцессоре - так что, если вы не обнаружите, что какого-то языка особенно не хватает, я бы не позволил никаким языкам "математическая скорость" беспокоить меня много.

-2
ответ дан 2 December 2019 в 03:06
поделиться

Простой в освоении (без сложностей объектно-ориентированного или функционального программирования)

Легко читается

Быстро вычисляет числа

Похоже на C.

Купить Числовые рецепты на C. Это в значительной степени охватывает все основы в ясном, удобочитаемом стиле.

http://www.amazon.com/Numerical-Recipes-Art-Scientific-Computing/dp/0521431085

-1
ответ дан 2 December 2019 в 03:06
поделиться

Или ответ Фортран 90, 95 , 2003 . . . ? Да. Fortran >=90 для научных вычислений устраняет ограничения FORTRAN 77. Узнайте, как использовать размещаемые массивы для создания массивов с динамически изменяющимися размерами. Узнайте, как использовать модули для организации ваших процедур и переменных — и легко обеспечить автоматическую проверку согласованности между фактическими и фиктивными аргументами. Начиная с FORTRAN 77, вы можете постепенно изучать Fortran 90/95/2003, используя те функции, которые кажутся вам полезными. Вам не нужно изучать возможности объектно-ориентированного программирования, и вы можете игнорировать эту часть языка до тех пор, пока, возможно, когда-нибудь она не предложит вам полезность.

Я рекомендую книгу Меткалфа, Рида и Коэна.

5
ответ дан 2 December 2019 в 03:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: