Страница 1 из 1
Приличная книга по актуальному Фортрану на русском
Добавлено: 09 мар 2004, 03:42
sanitar
Наконец-то в природе появился первый известный мне сабж на 400 стр.
http://oz.by/books/more1010246.html
Человеческий подход к изложению, следование стандартам языка, сравнительный анализ компиляторов, вынесенный в отдельную главу, пачка нормальных ссылок, структурированных по категориям.
Ну и естественно удобный справочник по функциям.
Плюс на закуску -- описание грядушего вот-вот официально стандарта Фортран-2003
(последний имеющийся -- 95 года).
Читаю и душа моя поет.
Есть конечно мелкие недостатки, но в целом -- достойнейшая вешь.
И главное -- первая на нормальном уровне.
Добавлено: 09 мар 2004, 11:06
Anonymous
Можно дурацкий вопрос?
В двух словах - достоинства фортрана перед си?
Добавлено: 09 мар 2004, 11:10
mend0za
ответ в одно слово: вычисления
Добавлено: 09 мар 2004, 13:22
Anonymous
а если чуть поконкретнее?
Добавлено: 09 мар 2004, 20:33
sanitar
Это не язык системного программирования.
Он оптимизирован под громоздкие наукоемкие вычисления. По сложным формулам.
И в родной области он лучше С, создаввавшегося для более других целей.
Чем именно?
Приходи на линуксовку, притяну книжку, сам почитаешь три страницы ответа.

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

Добавлено: 09 мар 2004, 23:37
Anonymous
Заинтересовал меня этот фортран, решил посмотреть что о нем пишет Себеста. Пишет не много, но мне понравилось вот это:
Алан Перлис, один из разработчиков языка ALGOL 60, в 1978 году сказал: "Язык FORTRAN - это lingua franca (смешанный язык из элементов романских, греческого и восточных языков, служащий для общения в восточном Средиземноморье; также язык с широкой сферой употребления, жаргон. - Прим.перев.) компьютерного мира. Это язык улиц, в лучшем, а не вульгарном смысле этого слова. Он выжил и будет жить, поскольку он был создан для того, чтобы быть замечательно полезной частью жизненно важной коммерческой деятельности"(Wexelblat, 1981).
Добавлено: 10 мар 2004, 01:52
sanitar
Ага. А еще первый диалект фортрана создал Бэкус.
Тот самый который совместно с Науром придумал нотацию BNF.
Еще из лирических отступлений (автора не вспомню)
"Через 30 лет язык численных вычислений будет существенно отличаться от того, что мы используем сейчас. Но называться он будет как и сейчас -- Фортраном"
Если серьезно, то ненышние стандарты -- f90, f95 отличаются от классического f77 как небо от земли.
Вполне нормальные и модерновые языки.
Сейчас на трезвую голову скажу пару слов о преимуществах.
Добавлено: 10 мар 2004, 02:08
sanitar
Область в которой фортран имеет преимущество -- одна. Я ее называл, для того он и создавался.
Короткое интро:
Базовых типов данных всего 5. Integer, real,
сomplex, сharacter, logical.
Для каждого типа может регулироваться занимаемый им обьем памяти. Это параметер kind.
Т.е. можно гибко управлять расходом памяти следующим путем:
REAL (KIND=16): X
REAL (KIND=2): Y
и т.п.
Кроме того, фортран поддерживает многомерные массивы (до 7 измерений).
Сложить и перемножить семимерные комплексные тензоры A и B можно простейшим путем: С=А+B.

Границы индексов массивов не привязаны жестко к нижней границе - нулю, в отличие от С и могут быть выставлены так как удобно пользователю.
Вышесказанное дает первый практический плюс: программа на Фортране более похожа на свой формульный прототип, на математическую модель. Т.е. анализировать и изменять ее гораздо удобнее. Но это цветочки.
С массивами можно делать массу увлекательных вещей: повышать размерность, делать сечения, вырезки и выборки по логической маске.
Все за счет родных функций языка.
Таким образом, имеем две основные фмшки, играющие очень существенную роль:
-родная поддержка комплексных чисел и операций над ними
-родная поддержка многомерных массивов и операций над ними
Да, гипотетически все это может быть реализовано на любом нормальном языке. Например на С. Но при этом потребуется бешеное количество перегрузок операторов и стандартных алгебраических функций.
И тут, если верить Немнюгину, а я ему верю, универсальные языки начинают проигрывать. В производительности. Что весьма существенно для крупных расчетов.
Добавлено: 10 мар 2004, 02:13
sanitar
Еще один нюанс -- существует огромная база фортранных библиотек численных методов, наработанная с начала 60-х.
Переделывать ее с нуля под языки появившиеся в начале 80-х -- изобретение велосипеда.
Стандарты же фортрана сохраняют обратную совместимость с фортран-66 и фортран-77.
Т.е. заюзать численные библиотеки написанные еще до моего рождения можно без проблем и плясок с бубном. Весьма удобно, экономит массу времени.
Добавлено: 10 мар 2004, 02:16
sanitar
Ну и последнее из пришедшего в голову сходу
fortran -- стандарт де-факто для научных расчетов на кластерах и прочих супермегашкафах.

В РБ это конечно не очень актуально.
А вот в России и Европе и т.д. все нормальные научные учреждения имеют по большому жужжащему шкафчику для крупного моделирования.
Добавлено: 10 мар 2004, 02:23
sanitar
Итого краткое резюме:
1) читабельные программы, в которых легко опознаются следы математической модели

2) родные функции для работы с необходимыми для научных расчетов структурами данных
3) гибкий контроль точности вычмслений
4) более высокая производительность по сравнению с С и С++ при работе с данными по пункту 2.
5) совместимость с предыдущими стандартами => возможность использования гигантского обьема численных библиотек.
6) прозрачный перенос на системы параллельных вычислений
Добавлено: 10 мар 2004, 09:37
Llama
AFAIK многи фортрановские библиотеки появившиеся или переписаные в последние лет 10 имеют встроеную и прозразрачную поддержу PVM или подобных приблуд. Очень удобно.
Добавлено: 15 мар 2004, 21:50
Гость
А интересно а какие компиляторы фортрана используются под линукс? И какие из них более правильные ( насколько я помню g77 не полностью поддерживает fortran 90/95).
Добавлено: 16 мар 2004, 01:07
sanitar
к моему величайшему сожалению, g95 до сих пор еще находится в пред-альфа стадии.
Полностью свободных в понимании GNU компайлеров пока не знаю.
Но есть пачка просто доступных, относительно свободных.
В частности, я юзаю intel fortran compiler --- ядро закрытое, часть либов можно распространять и копаться в исходниках.
Скачивать и пользовать можно бесплатно в исследовательских целях.
Есть еще компилятор языка F -- фактически тот же самый f90, за некоторыми мелкими нюансами.
Кроме того Watcom перешел на open source, но подробностей не знаю...
на
www.fortran.com можно отыскать списки компиляторов и сопутствующих утилит, в т.ч. для линукса, в т.ч. относительно свободных.
Хотя конечно религиозная чистота -- слабое место компиляторов ф90.

Авось когда нибудь g95 да будет выпушен

Добавлено: 16 мар 2004, 01:11
sanitar
по крайней мере, для тренировок в ожидании победы GNU над компилятором,
интеловский ifc весьма неплох.