(Список) Разумное использование F # и способ использования OO-Programmer
Возможный дубликат:
В каких областях кода вы используете f # для?
F # - это язык, который будет использоваться все больше и больше.
Microsoft построила в Visual Studio 2010 F #, и потенциал огромен, как я читал в нескольких журналах ИТ.
Итак, давайте собираем полезную информацию о "правильном" приложении F # и о том, какие преимущества мы могли бы получить.
Мне это интересно!
Крис
Дополнительная информация:
Для написания любого приложения, не в последнюю очередь на стороне сервера, необходимо масштабировать с количеством ядер и процессоров. Чистое функциональное программирование является апатридом (не зависит от общих ресурсов) и поэтому не запускается в тупиковые ситуации, условия гонки или коррупцию как традиционное императивное параллельное программирование. Подобные вещи могут быть сделаны с императивными/OO-языками, но требуют гораздо большей дисциплины или эмуляции функциональных конструкций, как с Parallel Extensions в С#. И будьте осторожны: не все может быть выполнено в функциональном режиме чисто, тем более, что библиотеки CLR и runtime являются OO по дизайну, поэтому взаимоблокировки, расы и остальная часть полностью не исчезают.
Для адресации бизнес-доменов с тяжелыми математическими абстракциями, такими как финансы, страхование или инженерия. Рано или поздно функции второго и третьего порядка, как правило, ползут как существенные абстракции в этих областях. F # не является чисто функциональным, но достаточно близко, чтобы хорошо выражать такие абстракции.
Для адресации доменов с требованиями сильной безопасности и корректности. Модель сильной типизации F # может не привлекать, например. толпа Ruby, но для определенных областей, возможность обосновать правильность при поддержке выразительной функциональной системы типов может быть существенной. Я сомневаюсь, что доказательства правильности когда-либо достигнут проникновения за пределы академических кругов, но вывод о том, что один инструмент в арсенале автоматического и ручного набора для проверки программ должен обеспечивать значительные преимущества, которые трудно подражать языкам ввода утиных языков или ОО с функциональным программированием, закрепленным на болтах.
Тем не менее, я считаю, что функциональные элементы, такие как введенные в С#, будут играть все более важную роль для удовлетворения любых применений для F # и, возможно, подрезают позицию F #. Это зависит от того, может ли значительное сообщество разработчиков F # быстро развиваться.
Я думаю, что это в основном дубликат нескольких других вопросов, задаваемых здесь:
- В каких областях кода вы используете f # для?
В каких областях использование F # может быть более подходящим, чем С#?
Является ли F # лучше, чем С# для математики?
Любой, кто использует F # в производстве?
Отмечено как вики сообщества, поэтому, пожалуйста, добавьте другие релевантные ссылки!