LINUX.ORG.RU

Fortran, литература


0

2

Посоветуйте литературу, которую стоит почитать чтобы познакомиться с Fortran. Что-нибудь в духе K&R для C. Лучше на русском.

З.Ы.: Не пинайте сильно если этот вопрос сто раз задавался, я нашёл только это: fortran литература ?

★★

Ого! Респект, человече! Когда-то программил на Фортране под ЕС и СМ. Матмоделирование.

Deleted
()
Ответ на: комментарий от Deleted

>>Ого! Респект, человече! Когда-то программил на Фортране

Удивиельно, уникальный случай!! А сейчас программисты на Фортране висят на растяжках в палеонтологических музеях, ага.

По теме - осиль хоть какую-нибудь. Нет хороших.

mclaudt
()

Гугли, например, по: О.В. Бартеньев Современный фортран Ю.И. Рыжиков Программирование на фортране Немнюгин, Стесик Современный фортран

Не могу сказать, что эти книги сильно хорошие, но фортран - очень простой язык, и этого вполне должно хватить.

P.S. Те, кто считает, что фортран - ископаемое, просто не в теме.

EVP
()
Ответ на: комментарий от EVP

Правильно я понимаю, что фортран очень любят и поныне применять в аэродинамических исследованиях? Просто интересно, где он сейчас находит свои применения?

pylin ★★★★★
()
Ответ на: комментарий от pylin

Как правило, то что касается математики уже давно решено на фортране. Ну и вроде как он хорошо заправляет в кластерах на вычислениях, по причине указаной выше.

Сам не в теме, всё нашептала бабка у подъезда.

tensai_cirno ★★★★★
()
Ответ на: комментарий от pylin

Матмоделирование в самых разных областях.

Фортран, несмотря на тяжелое наследство - эффективнейший инструмент для низкоуровневого оперирования матрицами

EVP
()

Плюсану за Бартеньева.
З.ы. Интел пока фортран развивает, значит он еще жив.

Zodd ★★★★★
()
Ответ на: комментарий от pylin

> Правильно я понимаю, что фортран очень любят и поныне применять в аэродинамических исследованиях?

Да. Из-за того, что никто не хочет тратить ресурсы на переписывание уже существующего ПО. Итоговая ситуация весьма плачевна.

Просто интересно, где он сейчас находит свои применения?

Не находит.

balodja ★★★
()
Ответ на: комментарий от balodja

>Да. Из-за того, что никто не хочет тратить ресурсы на переписывание уже существующего ПО. Итоговая ситуация весьма плачевна.

Я как-то столкнулся с результатами переписывания фортрановского года на Си. Что примечательно, меня просили найти там ошибку. Простая и ясная программа, почти дословно воспроизводящая ТЗ, превратилась в совершенно нечитаемый хлам. На вопрос - а зачем? - последовал ответ: начальство велело. Потом оказалось, что начальство фортран нифига не знало, а си - ведь это же СИ!!

Просто интересно, где он сейчас находит свои применения?

Не находит.

Интересно, а откуда такая информация?

EVP
()
Ответ на: комментарий от EVP

> Я как-то столкнулся с результатами переписывания фортрановского года на Си. Что примечательно, меня просили найти там ошибку.

Сразу видно, это делал опытный программист на си.

Простая и ясная программа, почти дословно воспроизводящая ТЗ, превратилась в совершенно нечитаемый хлам.

Ага, очень опытный.

Интересно, а откуда такая информация?

Потому что все применения для него уже давно найдены.

balodja ★★★
()
Ответ на: комментарий от balodja

> Сразу видно, это делал опытный программист на си.

На си числодробильню нельзя написать нормально. Матриц там нет. Таких как в фортране, матриц нет нигде.

Потому что все применения для него уже давно найдены.

Ниша фортрана - числодробильня. Или вы считаете, что вся выч. математика уже написана?

EVP
()
Ответ на: комментарий от balodja

Проблема фортрана в его тяжелом наследстве. Я как-то видел код на Fortran 66. От него натурально тянет блевать. После такого при одном упоминании о фортране тошнит. А ведь Fortran 2003, по-сути, ну совсем другой язык.

EVP
()
Ответ на: комментарий от EVP

Fortran 95 очень даже ничего. Уже 2007 стандарт готов, вроде даже уже начали пилить.

Zodd ★★★★★
()

Меткалф, Рид. «Описание языка программирования Фортран 90»

На английском более новая: M.Metcalf, J.Reid, «Fortran 90/95 Explained»

Vadim_Z
()
Ответ на: комментарий от EVP

Бартеньев смахивает на плохо переведенное хелпа к девелопер студио.

А Рыжиков — хорошая книжка.

gene
()
Ответ на: комментарий от EVP

> На си числодробильню нельзя написать нормально.

Какую именно?

Матриц там нет.

GSL же.

Таких как в фортране, матриц нет нигде.

Да, поэтому их надо оттуда взять; а остальное забыть, как страшный сон. Что в принципе разумное человечество и сделало.

balodja ★★★
()
Ответ на: комментарий от EVP

> Проблема фортрана в его тяжелом наследстве. Я как-то видел код на Fortran 66. От него натурально тянет блевать.

Я видел только 77. И даже писал на нем. От него тянет блевать — это еще мягко сказано.

balodja ★★★
()

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

dave ★★★★★
()
Ответ на: комментарий от EVP

> На си числодробильню нельзя написать нормально. Матриц там нет. Таких как в фортране, матриц нет нигде.

$ cat farray.h | wc -l 350

Реализация фортрановских массивов с полной имитацией синтаксиса на C++ заняла у меня 350 строк. Массивы полностью совместимы, их даже в фортрановские процедуры передавать можно. При желании, можно привернуть проверку границ и исключения, чего никогда в Фортране не получишь. Кому теперь нужен Фортран?

annoynimous ★★★★★
()

Спасибо всем ответившим!

Вы дали много пищи для размышления, буду переваривать.

dumka ★★
() автор топика
Ответ на: комментарий от balodja

>> Таких как в фортране, матриц нет нигде.

Да, поэтому их надо оттуда взять;

Да

а остальное забыть, как страшный сон.

Можете привести примеры? Чего там уж сильно страшного?

Что в принципе разумное человечество и сделало.

Увы, не сделало

EVP
()
Ответ на: комментарий от annoynimous

> Реализация фортрановских массивов с полной имитацией синтаксиса на

C++ заняла у меня 350 строк.

Я этим тоже занимался. Там было много меньше, чем 350 строк. Только зачем, если есть фортран. Зачем изобретать велосипеды? Приведите, please, примеры фатальных недостатков Fortran 2003

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

Массивы полностью совместимы, их даже в фортрановские процедуры передавать можно.

А фортран вообще встраивается куда угодно

При желании, можно привернуть проверку границ и исключения, чего никогда в Фортране не получишь.

Вроде бы это было на Compaq visual fortran под оффториком

Кому теперь нужен Фортран?

Недостатков фортрана много. Ну ведь так везде. Увы, альтернативы фортрану, как инструменту низкоуровневого оперирования матрицами.. Ну просветите, многие будут благодарны

EVP
()
Ответ на: комментарий от EVP

> Приведите, please, примеры фатальных недостатков Fortran 2003

Отсутствие свободного компилятора

скорость разработки увеличивается на порядок.

Клавиатура начинает выдавать 600 символов в минуту?

Увы, альтернативы фортрану, как инструменту низкоуровневого оперирования матрицами..

Вы в третий раз повторили эту мантру, а я вот никак в толк не возьму, что там за «работа с матрицами» такая? В 77 фортране никакой работы, кроме многомерных массивов не было и нет. Или речь о 2003?

Для С/С++ сейчас есть много хороших свободных математических библиотек: GSL, GMP, MPFR. Это определило выбор языка для моих проектов. Фортран мертв, увы.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

> Отсутствие свободного компилятора

Вас обманули.

Вы в третий раз повторили эту мантру, а я вот никак в толк не возьму, что там за «работа с матрицами» такая? В 77 фортране никакой работы, кроме многомерных массивов не было и нет. Или речь о 2003?

Многомерные массивы с естественным синтаксисом, срезы, стандартные функции вроде reshape и пр. Все это можно и на плюсах сделать. Только зачем? Если есть готовое?

Для С/С++ сейчас есть много хороших свободных математических библиотек

Для фортрана их тоже не мало. Мягко говоря.

Фортран мертв, увы.

Если бы это было так, не было бы этого обсуждения. Я знаю немало проектов, например, в гидродинамике, которые разрабатываются на фортране.

EVP
()
Ответ на: комментарий от EVP

> Можете привести примеры? Чего там уж сильно страшного?

В f77 чего страшного? Спрашивать не смешно? :) Там все страшно. Я с удовольствием привел бы портянки кода из сердца советской аэродинамики, но давно и с радостью от них избавился.

Увы, не сделало.

Еще как сделало. Напомнить какой-нибудь numpy?

balodja ★★★
()
Ответ на: комментарий от EVP

> Вас обманули.

А что gfortran уже целиком держит стандарт 2003го года?

Для фортрана их тоже не мало. Мягко говоря.

Ага, для фортрана немало только математических библиотек. С остальными батарейками современного мира там беда.

Только зачем? Если есть готовое?

Это уже есть готовое много для чего, не только для фортрана.

Если бы это было так, не было бы этого обсуждения.

На ЛОРе вечно любят что-нибудь маргинальное. Это не показатель.

Я знаю немало проектов, например, в гидродинамике, которые разрабатываются на фортране.

Проекты? Целиком на фортране? Не представляю проектов, где нужны только матрицы.

balodja ★★★
()
Ответ на: комментарий от balodja

> В f77 чего страшного? Спрашивать не смешно? :) Там все страшно. Я с удовольствием привел бы портянки кода из сердца советской аэродинамики, но давно и с радостью от них избавился.

Поэтому и такое яростное неприятие фортрана. Хотя уже fortran 90 был весьма неплох.

Еще как сделало. Напомнить какой-нибудь numpy?

Первое, что приходит в голову: в numpy массивы индексируются начиная с нуля. В фортране как угодно.

EVP
()
Ответ на: комментарий от EVP

> Первое, что приходит в голову: в numpy массивы индексируются начиная с нуля. В фортране как угодно.

Ну это мелочь, гораздо интереснее какие-нибудь разреженные матрицы.

balodja ★★★
()
Ответ на: комментарий от balodja

> А что gfortran уже целиком держит стандарт 2003го года?

Я не сталкивался с ситуацией, когда чего-то не хватало бы. Intel вроде бы все поддерживает.

Ага, для фортрана немало только математических библиотек. С остальными батарейками современного мира там беда.

Проекты? Целиком на фортране? Не представляю проектов, где нужны только матрицы.

А что еще по большому счету нужно для матмоделей? Да и никто не заставляет писать все целиком на фортране. К сожалению, часто такой разработкой занимаются специалисты предметной области, которые и фортрана толком не знают. Я видел код, в котором массив заполнялся значениями от 0 до 999. С шагом 1. Сделано это было в 1002 строчки

EVP
()
Ответ на: комментарий от EVP

> Поэтому и такое яростное неприятие фортрана.

Неприятие не фортрана :) А того, как его используют. В ЦАГИ, например, есть море фанатов-стариков, которые его используют для всего и вся, считая, что это дико крутой язык. Много раз видел парсеры различного рода файлов, написанные на фортране. Страшное дело же.

Даже в самых вычислительных проектах максимум стоило бы написать на фортране несколько модулей, которые будут выполнять исключительно роль формул, а остальное все сделать на чем-нибудь другом. ИМХО, в современном мире ниша фортрана, как языка, очень узка, да и в той он заменим.

balodja ★★★
()
Ответ на: комментарий от balodja

> Много раз видел парсеры различного рода файлов, написанные на фортране. Страшное дело же.

Даже не знаю, что за такое надо делать: ставить памятник или расстреливать на месте? :)

в современном мире ниша фортрана, как языка, очень узка

Да, так и есть.

да и в той он заменим.

Зачем его чем-то заменять? Вы так и не привели примеров фатальных недостатков.

EVP
()
Ответ на: комментарий от EVP

> Вы так и не привели примеров фатальных недостатков.

Ну, их и не будет. В своей нише он бесспорно хорош.

balodja ★★★
()
Ответ на: комментарий от EVP

> Вы так и не привели примеров фатальных недостатков.

У него один недостаток: он не нужен. Раньше, когда компы были маломощными, простота компилятора фортрана позволяла реализовать его где угодно и получать код, кторый был быстрее кода на других, более сложных языках. Сейчас он этого преимущества лишился: одинаково написанный алгоритм что на C++, что на Фортране работает одинаково быстро. При том, что C++ гибче, выразительнее и умеет много больше Фортрана. Начинать новый проект на Фортране — чистой воды идиотизм, максимум — поддерживать старый. А старый код обычно писан на F77, который ужасен, топорен и даже не имеет поддержки рекурсии. Посмотрите хотя бы на код лапака.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

> У него один недостаток: он не нужен

Это очень весомый аргумент. Да.

Раньше, когда компы были маломощными, простота компилятора фортрана позволяла реализовать его где угодно и получать код, кторый был быстрее кода на других, более сложных языках. Сейчас он этого преимущества лишился: одинаково написанный алгоритм что на C++, что на Фортране работает одинаково быстро.

Дело не в скорости работы программы, а в скорости её разработки и сложности поддержки

При том, что C++ гибче, выразительнее и умеет много больше Фортрана.

Несомненно. Но разработка числодробильни на С++ требует больше времени и усилий.

Начинать новый проект на Фортране - чистой воды идиотизм, максимум - поддерживать старый

Нет. Идиотизм - обожествлять инструмент. Или проклинать его. Вполне можно начинать проект на фортране. Желательно в связке еще с чем-нибудь

А старый код обычно писан на F77, который ужасен, топорен и даже не имеет поддержки рекурсии. Посмотрите хотя бы на код лапака.

Да, но это ничто не мешает этот код откомпилировать и использовать, если надо

EVP
()
Ответ на: комментарий от EVP

> Дело не в скорости работы программы, а в скорости её разработки и сложности поддержки

Олдскульные программеры все равно даже на 2003 Фортране пишут как на 77, а использовать 2003 со всеми «фишками» ничуть не проще (или сложнее, если угодно), чем C++

Идиотизм - обожествлять инструмент. Или проклинать его. Вполне можно начинать проект на фортране. Желательно в связке еще с чем-нибудь

Я начинал на Фортране, использовал 77 пока не было свободного компилятора 90/95 стандарта, а теперь использую C++ и понимаю,что Фортран 2003 уже не нужен. Просто не нужен и все.

annoynimous ★★★★★
()
Ответ на: комментарий от mclaudt

> Что-то я не видел чтобы лапаки на си торопились переписывать.

Да их что-то и на 90/95 Фортран не спешат переписать, что уж там о 2003 говорить. О legacy софте мы не говорим, мы говорим о том, стоит ли начинать новые проекты на Фортране.

annoynimous ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.