(Список) Разумное использование F # и способ использования OO-Programmer

57
6

Возможный дубликат:
В каких областях кода вы используете f # для?



F # - это язык, который будет использоваться все больше и больше.


Microsoft построила в Visual Studio 2010 F #, и потенциал огромен, как я читал в нескольких журналах ИТ.


Итак, давайте собираем полезную информацию о "правильном" приложении F # и о том, какие преимущества мы могли бы получить.


Мне это интересно!


Крис


Дополнительная информация:


спросил(а) 2010-07-22T12:27:00+04:00 10 лет, 2 месяца назад
1
Решение
90

Для написания любого приложения, не в последнюю очередь на стороне сервера, необходимо масштабировать с количеством ядер и процессоров. Чистое функциональное программирование является апатридом (не зависит от общих ресурсов) и поэтому не запускается в тупиковые ситуации, условия гонки или коррупцию как традиционное императивное параллельное программирование. Подобные вещи могут быть сделаны с императивными/OO-языками, но требуют гораздо большей дисциплины или эмуляции функциональных конструкций, как с Parallel Extensions в С#. И будьте осторожны: не все может быть выполнено в функциональном режиме чисто, тем более, что библиотеки CLR и runtime являются OO по дизайну, поэтому взаимоблокировки, расы и остальная часть полностью не исчезают.


Для адресации бизнес-доменов с тяжелыми математическими абстракциями, такими как финансы, страхование или инженерия. Рано или поздно функции второго и третьего порядка, как правило, ползут как существенные абстракции в этих областях. F # не является чисто функциональным, но достаточно близко, чтобы хорошо выражать такие абстракции.

Для адресации доменов с требованиями сильной безопасности и корректности. Модель сильной типизации F # может не привлекать, например. толпа Ruby, но для определенных областей, возможность обосновать правильность при поддержке выразительной функциональной системы типов может быть существенной. Я сомневаюсь, что доказательства правильности когда-либо достигнут проникновения за пределы академических кругов, но вывод о том, что один инструмент в арсенале автоматического и ручного набора для проверки программ должен обеспечивать значительные преимущества, которые трудно подражать языкам ввода утиных языков или ОО с функциональным программированием, закрепленным на болтах.


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

ответил(а) 2010-07-22T12:38:00+04:00 10 лет, 2 месяца назад
57

Я думаю, что это в основном дубликат нескольких других вопросов, задаваемых здесь:



Отмечено как вики сообщества, поэтому, пожалуйста, добавьте другие релевантные ссылки!

ответил(а) 2010-07-22T14:34:00+04:00 10 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема