Вопрос про FORTRAN

kataich

Не могли бы Вы выразить/аргументировать своё мнение по поводу FORTRAN в следующем контексте:
- используется ли этот язык где-нибудь, кроме научных расчетов?
- каковы его перспективы?
- легко ли вам было, советуете ли Вы изучать этот язык?
Заранее благодарен.

Andbar

- легко ли вам было, советуете ли Вы изучать этот язык?
Сам язык весьма ограниченный, так что разобраться в нём не очень сложно, хотя ввод/вывод может вызвать кучу вопросов. Но разбираться в чужом исходнике крайне муторно и неприятно.
Короче, по возможности, лучше использовать другой язык.

kataich

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

apl13

Сам язык весьма ограниченный
Зато постоянно развивающийся.

yroslavasako

Но разбираться в чужом исходнике крайне муторно и неприятно.
сущность алгоритмов lapack я уловил, хотя и был знаком с языком два дня. В исходники полез, потому что туда послала документация

Anna74

Cтепень сложности разборок с исходниками зависит от того, кто и как их написал.

yroslavasako

Cтепень сложности разборок с исходниками зависит от того, кто и как их написал.
и от того, сколько десятков лет их писали :)
Кстати, есть нормальные библиотеки для численных вычислений для си++? Чтобы там были определены заодно типы "вектор" и "матрица" и операции над ними?

8rik8

мас кернел от интела можно посмотреть. там и поддержка blas'а есть.
они и оптимизированы под х86.
да куча всего есть.

alfadred

Для GSL я видел где-то С++-враппер. Если не смущает то, что она под GPL, можешь посмотреть.

SPARTAK3959

А смысл операций над матрицами? Сложение и умножение реализуются за 10 минут. А деление и нахождение собственных значений нужно выполнять одним из 100 алгоритмов, в зависимости от задачи - в любом случае ты либо не найдешь нужного алгоритма, либо задолбаешься его искать среди тысячи страниц описаний не нужных тебе алгоритмов.

yroslavasako

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

SPARTAK3959

Зачем что-либо копировать? Fortran это не C++ где фиг разберешься будут копироваться данные или нет. И темплейты в нем разве есть?
А ленивые вычисления (для умножения матриц) - это разве не убийство кэша? Не говоря уж о том, что используются они редко (мне ни разу для вычислений с матрицами ни на одном языке программирования не понадобились). Вот разве что кэш-правильные алгоритмы умножения матриц реализовать за 10 минут не получится. Но задач, где это важно мне пока не попадалось.
Эффективное ассоциативное умножение матриц полезно тоже только в теории. На практике сразу очевидно в каком порядке нужно их перемножать. Да и вообще не помню случаев, когда нужно было перемножать более 2-3 неквадратных матриц.

yroslavasako

прочитай последние шесть постов и ты поймёшь, что обсуждались библиотеки для c++. Для вычислительных библиотек характерна высокая эффективность и минимизация цены использования библиотеки в проекте. Соответственно и пишутся они куда дольше, чем 10 минут.
А ленивые вычисления можно полагать бонусом - предлагая пользователю выбирать стратегию вычисления самому. Но то же ассоциативное умножение матриц без ленивых вычислений не сделаешь.
Оставить комментарий
Имя или ник:
Комментарий: