Цитата:
А MPI на что?
По сравнению с эрланговским механизмом MPI - жуткое чудовище.
Цитата:
Ну и в целом, с распараллеливанием насколько я знаю у функциональных языков пока что всё довольно грустно. То есть если речь заходит о неприятных вещах вроде раскидывания матриц по процессорам, они тут точно так же не справляются как и "обычные" языки. А писать низкоуровневые вещи на них сложнее.
Не знаю как в других, а вот в Эрланге механизм параллельных вычислений очень мощный.
Цитата:
В общем, "про физику" я не согласен. Если уже есть обёртка для нужного решателя на функциональном языке -- оно очень удобно. А если нет -- преимущества нулевые.
Не соглашусь.
Цитата:
В "системном" программировании это тоже нужно: механизм callback'ов используется с незапамятных времен. Но с тех же незапамятных времен нет никаких проблем с его реализацией.
Вот именно, с незапамятных времён, когда не существовало виртуального полиморфизма. Сегодня такой необходимости нет, т.к., как правило, любой колбек связан с какой-то сущностью, а значит имеет смысл создать абстрактный класс и передавать уведомления через него. Или заюзать статический полиморфизм вместо виртуального - в зависимости от конкретной ситуации.
Цитата:
Какое "колдовство" Вы видите в таком описании?
Нельзя функцию передавать как шаблонный параметр. Чтобы это было возможно приходится её засовывать в структуру или класс (то есть плодить сущности). В общем через одно место получается. Делегаты - тоже не идеальный вариант. Представьте, например, что Вы написали функцию для расчёта интеграла. Теперь Вам понадобилось рассчитать двойной интеграл функции двух переменных. Вот гемор то начнётся! В эрланге такого нет. Написал функцию для расчёта интеграла, а потом с её помощью вычисляй интегралы хоть десятого порядка, не создавая при этом никаких новых сущностей. И вызов такой функции очень похож на математическое выражение - получится интеграл от интеграла от функции, безо всяких совершенно лишних структур, классов, делегатов.
Цитата:
Что имеется в виду?
Ну вот представьте. Функция для вычисления интеграла на Си
Код:
typedef double integrated(double) ;
double integral(double low_limit, double hight_limit, integrated* func) {...}
А у Вас возникает необходимость вычислить интеграл вот от такой функции:
Код:
float my_func(float)
Что будете делать? Костыли вставлять?
-- Сб фев 26, 2011 02:15:22 --А почему вообще математическая функция должна быть функцией языка программирования? К ним требования совершенно разные. Например, хочу я проинтегрировать функцию Дирихле...
Я имел ввиду именно численное интегрирование. Как численно рассчитать интеграл функции Дирихле я вообще себе не представляю.