Сведения о вопросе

MAT

14:35, 14th August, 2020

Язык программирования для математических расчетов?

Просмотров: 127   Ответов: 12

Как вы думаете, на каком языке программирования лучше всего реализовывать сложные расчеты (финансовая и актуарная математика, статистика).

Понимаю что для этих целей собирают супер-компьютеры и HPC кластеры, но все-таки, какой язык использовать предпочтительней в условиях относительно слабой вычислительной мощности?

Я думаю, что язык должен быть функциональным, так как эта парадигма наиболее близка к чистой математике, так же важна возможность кластеризации приложения…


Вообщем, у кого какие мысли по этому поводу?

Если у кого есть опыт написания подобных приложений — буду очень признателен, если опишите хотя бы в трех словах как вы это делали.


Спасибо!



  Сведения об ответе

PHPH

00:18, 29th August, 2020

опять нарвусь на минусы, но
ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D1%82%D1%80%D0%B0%D0%BD


  Сведения об ответе

dumai

13:44, 16th August, 2020

Во-первых, парадигма функционального программирования всего-лишь говорит о том, как писать программы. Цель данной парадигмы — оформлять программы как математические функции.

Конечно, за этим стоят какие-то большие цели, кто-то считает что это единственный верный способ программирования, кто-то поклоняется данной парадигме как богу. Но данные люди, простите за столь грубое высказывание — дураки. Истина находится «между». Иначе говоря, функциональное программирование позволяет сделать код более компактным, красивым, быстрым, но использование только этой парадигмы, игнорируя остальные — только вред.

Важно понять что требуется от языка. Как я вижу, требование одно — большая скорость при небольших ресурсах, которые не будут увеличиваться(я правильно понял?).
Если всё так критично(100 и 1 раз оцените задачу!), то выбор не велик: C, C++.
Если хочется вкусить функциональщины, то можно попробовать Haskell, CL(Common Lisp). Но я повторюсь, если в задаче есть слово «функция», это ещё не значит что нужно использовать «функциональное программирование».

  Сведения об ответе

screen

13:10, 27th August, 2020

Для статистики есть специальный язык R. Кроссплатформенный, открытый, и с кучей библиотек.


  Сведения об ответе

ASER

19:43, 12th August, 2020

Haskell.


  Сведения об ответе

DAAA

06:11, 25th August, 2020

>>большая скорость при небольших ресурсах
>>Да, именно оно, но еще чего хотелось бы получить это скорость разработки и элегантность кода на выходе (да, я люблю красивые вещи)


  Сведения об ответе

#hash

03:03, 21st August, 2020

C# + F# ?)


  Сведения об ответе

padenie

14:21, 22nd August, 2020

Я думаю, что язык должен быть функциональным, так как эта парадигма наиболее близка к чистой математике,

Я же бы решил, что если нужно делать именно математические расчеты, то следует подумать о математическом пакете, например Matlab. Если Вы хотите получить лаконичность кода, то с этим здесь не должно быть проблем. Огромное количество стандартных функций математики и статистики. С тулбоксами Financial Derivatives Toolbox и Financial Toolbox не знаком, но список функций выглядит внушительным.
Скорость вычислений при правильном программировании, по моим наблюдениям ниже не более, чем в 2 раза (в сравнении, с C#, например). Можно использовать компиляторы и вызывать функции Matlab из любого языка. Правда в этом случае существенным недостатком является долгий старт окружения Matlab.


  Сведения об ответе

SILA

14:50, 17th August, 2020

APL, Fortran


  Сведения об ответе

repe

07:19, 4th August, 2020

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


  Сведения об ответе

prince

19:00, 23rd August, 2020

Если задачи подразумевают широкое использование существующих алгоритмов (без вмешательства в их код) то Матлаб.

Если же алгоритмы будут свои или потребуется адаптация (с внутренним насилием!) чужих или же необходимость перехода в один прекрасный день к большим вычислительным мощностям, то Фортран.


  Сведения об ответе

$DOLLAR

08:53, 8th August, 2020

MATLAB - является платным пакетом, если вас это не устраивает, то можно посмотреть в сторону Octave. Octave - опенсорсный продукт, синтаксис схож с MATLAB. Прекрасно подходит для высокоуровневого программирования математических расчетов.


  Сведения об ответе

SEEYOU

21:06, 1st October, 2020

Erlang, Haskell или Ruby. В общем большинство функциональных языков.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться