Вопрос про FORTRAN
- легко ли вам было, советуете ли Вы изучать этот язык?Сам язык весьма ограниченный, так что разобраться в нём не очень сложно, хотя ввод/вывод может вызвать кучу вопросов. Но разбираться в чужом исходнике крайне муторно и неприятно.
Короче, по возможности, лучше использовать другой язык.
Но разбираться в чужом исходнике крайне муторно и неприятно.Вот по этому поводу тоже хотелось бы увидеть мнения.
Сам язык весьма ограниченныйЗато постоянно развивающийся.
Но разбираться в чужом исходнике крайне муторно и неприятно.сущность алгоритмов lapack я уловил, хотя и был знаком с языком два дня. В исходники полез, потому что туда послала документация
Cтепень сложности разборок с исходниками зависит от того, кто и как их написал.
Cтепень сложности разборок с исходниками зависит от того, кто и как их написал.и от того, сколько десятков лет их писали
Кстати, есть нормальные библиотеки для численных вычислений для си++? Чтобы там были определены заодно типы "вектор" и "матрица" и операции над ними?
они и оптимизированы под х86.
да куча всего есть.
Для GSL я видел где-то С++-враппер. Если не смущает то, что она под GPL, можешь посмотреть.
А смысл операций над матрицами? Сложение и умножение реализуются за 10 минут. А деление и нахождение собственных значений нужно выполнять одним из 100 алгоритмов, в зависимости от задачи - в любом случае ты либо не найдешь нужного алгоритма, либо задолбаешься его искать среди тысячи страниц описаний не нужных тебе алгоритмов.
Сложение и умножение реализуются за 10 минут.впирёд. Не забудь только реализовать ленивые вычисления, темплатные выражения чтобы не копировать лишний раз значения, передаваемые операторам. Это всё в статике. В динамике можешь ещё реализовать эффективное ассоциативное умножение матриц. Не говоря уже о более сложных алгоритмах, чем банальное сложение
А ленивые вычисления (для умножения матриц) - это разве не убийство кэша? Не говоря уж о том, что используются они редко (мне ни разу для вычислений с матрицами ни на одном языке программирования не понадобились). Вот разве что кэш-правильные алгоритмы умножения матриц реализовать за 10 минут не получится. Но задач, где это важно мне пока не попадалось.
Эффективное ассоциативное умножение матриц полезно тоже только в теории. На практике сразу очевидно в каком порядке нужно их перемножать. Да и вообще не помню случаев, когда нужно было перемножать более 2-3 неквадратных матриц.
А ленивые вычисления можно полагать бонусом - предлагая пользователю выбирать стратегию вычисления самому. Но то же ассоциативное умножение матриц без ленивых вычислений не сделаешь.
Оставить комментарий
kataich
Не могли бы Вы выразить/аргументировать своё мнение по поводу FORTRAN в следующем контексте:- используется ли этот язык где-нибудь, кроме научных расчетов?
- каковы его перспективы?
- легко ли вам было, советуете ли Вы изучать этот язык?
Заранее благодарен.