PDA

Показать полную графическую версию : Достоинства и недостатки языка Fortran


Страниц : [1] 2

PhilB
20-06-2011, 17:15
Извините за оффтоп, но я не бородатый старый программер, а студент еще...
Большая часть мат. вычислений пишется на Фортране. »
Никак нигде не могу найти ответ, что в нем таком. Сам на нем проги не писал никогда, только читал, и не понял, что в нем такого привлекательного для математиков.
Один страрый АСУшник поведал мне, что фортран стал языком для математиков, потому что там впервые была реализована двойная точность для вычислений с плавающей точкой. Сейчас она есть везде, вроде даже уже четверная есть в gcc.
Да, для него много библиотек с математикой, но многие библиотеки для серьезной математики я видел и для си, и для фортрана (MPI, например).
Суммируя, что ж в нем такого? Киньте ссылки или разъясните в 2 словах. Буду благодарен.:)

amel27
20-06-2011, 18:13
Киньте ссылки »баян: http://www.google.ru/#sclient=psy&hl=ru&newwindow=1&source=hp&q=%D1%84%D0%BE%D1%80%D1%82%D1%80%D0%B0%D0%BD+%D0%B7%D0%B0%D1%87%D0%B5%D0%BC&aq=f&aqi=&aql=&oq=&pbx=1&fp=1ad596a2814e25f4&biw=1263&bih=770

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

PhilB
20-06-2011, 18:53
баян: http://www.google.ru/#sclient=psy&hl...w=1263&bih=770 »
Google я не забыл, говорю ж, ничего толкового не нашел.
Тем более любопытно, видя, что lxa85 хочет провести пару семестров на онном.

Iska
20-06-2011, 19:34
Никак нигде не могу найти ответ, что в нем таком. »
Не там ищете: Фортран (http://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D1%82%D1%80%D0%B0%D0%BD).

Его библиотеки проверены очень и очень серьёзно. В них вложено огромное количество человеко-лет труда. Переделывать их, отлаживать (и, само собой, внедрять) — весьма затратно.

Tau_0
02-07-2011, 01:34
Один страрый АСУшник поведал мне, что фортран стал языком для математиков, потому что там впервые была реализована двойная точность для вычислений с плавающей точкой. Сейчас она есть везде, вроде даже уже четверная есть в gcc. »
АСУшник ни в коем случае не фортранщик..

Чтобы почувствовать язык надо на нём писать… Я писал на разных ассемблерах, Модуле-2, С и С++ и десть лет на Фортране, начиная с четвертого (60-го) м заканчивая 90-ым. Это мой любимый язык --- прост (не перегружен) и лаконично красив (в последних версиях даже изящен) --- науке не нужны излишние навороты…

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

lxa85
02-07-2011, 08:27
Tau_0, можно вас попросить уточнить разницу между физиками, механиками и математиками? Разница для меня пока не столь очевидна, т.к. данные науки тесно сплетаются между собой. Дополняя и "раскрывая" друг друга.

Iska
02-07-2011, 10:16
;) Учитель, можно я? Можно мне ответить?!

Математика является основой, базовой составляющей, которая даёт численный аппарат как для теоретического обоснования, так и для реализации задач перечисленной научной и инженерной братии. Без математического аппарата, что физика, что механика — мертва.

Так я понимаю это.

ferget
02-07-2011, 10:26
тема вопроса Фортран стал языком научной братии: физиков, механиков и инженеров. Но не математиков --- математика это совсем иное… » не раскрыта :)

AlexMakienko
02-07-2011, 14:10
Tau_0 Считал раньше на Fortrane еще в 1968 году динамику полета экранопланов Орленок,
Касп. Монстр, Лунь и т.д. Накоплены данные расчето, проверенные по результатам летных испытаний. Пробовал использовать MatLab. Уранения и исх. данные те же, но выходные переходные процессы сильно отличаются.
Считать приходится систему нормальных дифф. урвнений 5-го порядка методом Рунге_Кутта.
Сейчас попрежнему использую Fortran (Fortran Power Station ) для расчетов все классно.

Вопрос. Можно ли считать системы дифференциальных уравнений (нормальных) и в частных производных с помощью программ С++

Tau_0
02-07-2011, 16:01
можно вас попросить уточнить разницу между физиками, механиками и математиками? »
Конечно эти науки сплетаются.
Но раз есть разные слова, то значит, есть и разница --- даже в тонкостях мышления. Математика она очень большая --- есть логики и абстрактные алгебраисты --- им вроде машина ник чему. Хотя кто его знает…???....

Раскрыть разницу не берусь --- будет много слов, и мало толка… Но я эту разницу чувствую и ощущаю --- тесно работал с ними рядом.

Ну вот Вам вариация одной старой шутки…
Едут в купе поезда инженер, физик, математик и логик. Видят стадо овец. Инженер говорит: "А овцы белые". Физик: "Неправильно. Надо говорить точнее: в этой местности
овцы белые." Математик говорит это не так: "Пасущиеся перед нами овцы - белые".На это логик отвечает: " И это не показать полностью..
ЗЫ Исаак Ньютон был един в трёх лицах…
Вопрос. Можно ли считать системы дифференциальных уравнений (нормальных) и в частных производных с помощью программ С++ »
Конечно можно, но мне было бы неудобно... Мои задачи были исследовательскими (высокоскоростные процессы обработки металлов давлением вплоть до задач пробивания брони…), и я сам не знал куда кривая выведет…

Хотя и старался применять технологии структурного программировании, но многое по пять раз перекраивал и переписывал… По крайней мере для меня это было неизведанным…
Какое здесь объектное программирование --- оно только мешает сосредоточится….

AlexMakienko
02-07-2011, 18:38
Tau_0 Конечно можно, но мне было бы неудобно..
Я так все таки понял что не считали . Так и я вот ни разу не слышал и не видел
примеров решений в С++ систем дифференциальных уравнений (нормальных) и тем более в частных производных

amel27
03-07-2011, 09:15
Раскрыть разницу не берусь --- будет много слов, и мало толка… »Ну если только по ощущениям... В отношении к программированию физик ближе к инженеру, т.е. для него компУтер - "большой калькулятор" (я до сих пор так считаю), поэтому программировать он берётся только если не находит на "калькуляторе" нужной "кнопки"... "Математикам-чистикам" (мы их так называли) наоборот, чем абстрактней язык, тем больше возможностей для реализации своих "мысленных построений" и тем менее он понятен простым смертным (взять хоть F#). Прикладные математики выполняют роль "переводчиков" - т.е. пишут те самые "калькуляторы" для физиков и инженеров.

megaloman
03-07-2011, 17:38
Не знаю, что такое Фортран сейчас, в своё время отдал 14 лет F-4, и немного Fortran-77. Моё твёрдое убеждение - ни в каком другом языке нельзя так просто работать с комплексными переменными (+ куча стандартных функций для них), как в Фортране. Прежде всего это нужно физикам, инженерам-физикам: электротехника, электродинамика - вот естественная область применения. А любая задача на любом языке прежде всего связана с методикой решения: вот конкретная задача, вот придумали метод (в научных расчётах -99% успешного результата и эффективности конечного кода) - а уж потом - программа. Уже порядочное время мощная альтернатива Фортрану - MathCad.
Правда, существует очень давнее обидное высказывание какого-то гуру от программирования: "Кто начал изучение программирования с Бейсика - потерянный для программирования человек. Начавший с Фортрана - недалеко от них ушел". Но Бейсик сейчас другой. Наверное, и Фортран не тот. можно вас попросить уточнить разницу между физиками, механиками и математиками? » Элементарно, Ватсон! У математика есть иллюзия, что все задачи решаются точно, физик всегда понимает, что задача решается приближенно, и очень важно сознавать границы этого приближения. Физик живёт в реальном пространстве-времени, математик витает в эмпиреях.

yurfed
03-07-2011, 17:49
Я писал на разных ассемблерах, »О, будем иметь ввиду.
Фортран, он ещё жив? Есть книга по работе с ним. Осталось только найти её. Постараюсь.
17-06-2011 »Вы ещё этого хотите и вам это нужно?

Tau_0
03-07-2011, 19:07
Так и я вот ни разу не слышал и не видел
примеров решений в С++ систем дифференциальных уравнений (нормальных) и тем более в частных производных »
Да нет и на C++ серьёзные алгоритмы (численные методы…) тоже реализуют. Но, как правило, это задачи уже решённые, доводимые до промышленных пакетов… Это просто мне на Fortrane сподручнее.

Вот интересная дискуссия на эту тему --- три странички всего…
Научный форум dxdy
Фортран
http://dxdy.ru/topic27402.html

AlexMakienko
03-07-2011, 19:33
Tau_0 Я без подначки. Мне просто интересно знать.
серьёзные алгоритмы (численные методы…) тоже реализуют.

Численные методы друг другу рознь.
Именно решение систем дифференциальных уравнений на С++ реально?
Я его просто не знаю

Tau_0
03-07-2011, 21:02
Численные методы друг другу рознь.
Именно решение систем дифференциальных уравнений на С++ реально?
Я его просто не знаю »
Вы невнимательно посмотрели на dxdy…
См., что там написано
Последний релиз одной из самых известных библиотек численных методов NAG Mark 22 вышел в октябре 2009 года. Версия на С тоже есть, но описания несколько отличаются (http://www.nag.com)
А это с rutracker.org
NAG Fortran Библиотеки

Год выпуска: 1997 (MARK 18)
Разработчик: Numerical Algorithms Group
Совместимость с Vista: полная
Системные требования: Любой Fortran компилятор
Язык интерфейса: только английский
Таблэтка: Не требуется
Описание: Наибольшая коллекция числовых алгоритмов, коммерчески доступных

Произведенная экспертами NAG Fortran Библиотека имеет всемирную репутацию, и, с более чем 1 600 полностью документированными и проверенными исходными кодами, это - наибольшая коллекция математических и статистических доступных алгоритмов.

Содержание Библиотеки

Ключевые численные и статистические способности Библиотеки ФОРТРАНа перечислены ниже.

Численные

* Оптимизация, и Местная и Глобальная
* Линейное, квадратичное, целочисленное и нелинейное программирование и проблема наименьших квадратов
* Обычные и частичные дифференциальные уравнения
* Решение плотных, соединенных и редких линейных уравнений и проблем собственного значения
* Решение линейных и нелинейных проблем наименьших квадратов
* Интерполяция кривой и поверхностнью
* Специальные функции
* Численное интегрирование и интегральные уравнения
* Корни нелинейных уравнений (включая полиномиалы)
* Вейвлет-преобразования

Статистические

* Генерация случайных чисел
* Простые вычисления статистических данных
* Анализ корреляции и регрессии
* Многомерные методы
* Дисперсионный анализ
* Анализ временного ряда
* Непараметрическая статистика

AlexMakienko
03-07-2011, 22:10
Tau_0

1. Посмотрел на dxdy… Ну и что ? Разные компиляторы ( да есть комбинированные) под разные классы задач.
Последний релиз одной из самых известных библиотек численных методов NAG Mark 22 вышел в октябре 2009 года. Версия на С тоже есть, но описания несколько отличаются (http://www.nag.com) В том то и дело так отличаются, что динамику полета ( сист. дифф уранений для нее ) не посчитать. Кстати ссылка что то не работает

2. На rutracker.org мы уже обсудили.
NAG Fortran Библиотеки
Системные требования: Любой Fortran компилятор

Это и есть Фортран. Я использую компилятор Microsoft Fortran Power Station
Классно работает
Может я все же не понял о чем Вы говорите?

Tau_0
03-07-2011, 23:51
Кстати ссылка что то не работает »
Пардон, пошарьте здесь.
http://www.nag.co.uk/

А документацмя по Mark 18 лежит вот тут.
NAG Fortran Library, Mark 18
http://nag.co.uk/numeric/fl/manual19/html/mark18.html

В том то и дело так отличаются, что динамику полета ( сист. дифф уранений для нее ) не посчитать. »
Ну нет для C++ таких мощных готовых библиотек, как для Fortran'а --- ну и что с того --- напишите собственные. Кто или что мешает...???...

Я и для фортрана в большинстве своём писал собственные подпрограммы и функции --- стандартные порой плохо подходили, или их у меня не было, или не так надо было делать.... Впрочем, были у меня исходные тексты с очень неплохой документацией. Но то было для серии DEC VAX, а надо было на IBM 360/370 --- куча машинно зависимых констант. Разбирал и правил исходные тексты, что очень утомительно.

Повторяю, --- написать на C ничто не запрещает. Вот только готовых библиотек маловато будет, а FORTRAN за 55 лет столько ВСЕГО накопил...!!!... Да и не люблю я на этом "телеграфном коде" (C, C++ кодировать....)

Я использую компилятор Microsoft Fortran Power Station
Классно работает »
Ещё бы --- оно так и есть:), но я вот стащил с варёзки Intel.Visual.Fortran.Compiler.v11.0.061-TBE, а он у меня не пошёл --- железо не то... Так что пока пользую Compaq Visual Fortran Professional Edition 6.6.C.

Впрочем, ВСЕ они (компиляторы и интегрированные среды) хороши --- вроде как одна команда делала...???...

AlexMakienko
04-07-2011, 01:19
Tau_0 Понятно. А уменя как раз Compaq Visual Fortran Professional Edition 6.0 не пошел.




© OSzone.net 2001-2012