F#是企业的绝佳选择.

F#对企业发展的好处是:

本指南包括与使用F#进行企业编程有关的资源. 要贡献本指南,请登录GitHub, 编辑此页面并发送拉取请求.


请注意,下面列出的资源仅用于与F#编程语言相关的教育目的. F#软件基金会不认可或推荐任何商业产品,过程或服务. 因此,提及商业产品,过程或服务不应理解为认可或推荐.

Resources for Enterprise Programming

Benefits of F# for enterprise and line-of-business applications

许多开发人员已经发布了他们为什么喜欢F#的信息:

A tour of F# features

Low risk ways to use F#

您可以轻松地针对非关键的开发任务(例如测试和脚本编写)试用F#,而无需进行批量更改.

F# for build automation

F# for testing .NET systems

Fewer errors, less maintenance

在F#中很容易避免许多常见错误,例如null或空集合. F#类不能为空,穷举模式匹配意味着不会忽略边缘情况,并且可以使用度量单位来避免不兼容数字的意外混淆.

F# code is engineered for testing

函数式编程不使用状态,逻辑往往是线性的,因此很容易轻松地隔离子系统(使用NUnit或您最喜欢的测试框架)来测试子系统,并且没有复杂的依赖关系网.

Using F# for domain modelling

F#具有功能强大的类型系统,可用于准确地对域建模. "选择"类型比继承可以更方便地对业务案例进行建模,并且可以将业务规则设计到类型系统中,从而获得"编译时单元测试",从而无需进行许多手工编写的测试.

如果您要使用CQRS和事件源方法,那么F#也是对此建模的绝佳选择.

Data access and information-rich programming

我们正在进入一个信息丰富的新世界,该世界为程序员提供了探索和创建令人兴奋的应用程序的巨大机会. F#是该领域的领导者.

Using F# type providers to access data

F#类型提供程序使您可以直接与数据对话,并结合了动态代码生成的功能,静态类型的安全性和智能感知的易用性.

Using F# to analyze data

F#还具有强大的工具来分析和处理数据,例如Deedle (用于数据和时间序列处理)和R类型提供程序 ,这使得可以使用F#交互式环境中的所有R功能,包括实时图表绘制.和数据分析.

Taming complexity

F#具有许多功能来帮助您管理复杂性并提高性能,例如:更安全的Async库,比使用线程更容易的内置actor模型,与不可变数据的安全并行化等等.

Asynchronous programming in F#

Agents and message queues

Developer morale

(通过F#)学习函数式编程非常有趣,并且会让您的团队更快乐. 是的,您不可能一直都乐在其中. 但是,如果您喜欢自己,那么在需要时,您更有可能付出更多努力.

而且,使用F#可能会帮助您吸引有才华的开发人员. 毕竟,您是否不想要和开心的人一起工作?