C# 7 中将提供更好的函数式编程支持






4.79/5 (9投票s)
为 C# 7 中的新激动人心功能做好准备!
我最近听了 .NET Rocks! 节目 #1272 深入了解 C# 7 (与 Kathleen Dollard 对话),她提到下一版本的 C# 将更好地支持元组、不可变性、记录和模式匹配。您可以下载该节目并快进到 27:04 和 30:04。如果您感兴趣,可以查看 C# 7 功能清单(修订版大约在 2016 年 3 月 24 日)。您现在就可以熟悉 C# 7 中对这些功能的支持,但由于它还处于开发阶段,到它发布到 CTP 甚至正式发布时,很可能会有所不同。
那么,与此同时您能做些什么呢?幸运的是,Visual Studio 附带了 F#,您现在就可以开始学习上述函数式编程概念了。请记住,F# 只是另一种 CLR 语言,就像 C# 一样,而且许多功能,例如泛型和对 async
/await
的支持,都是从 F# 引入 C# 的。对于函数式编程,我希望这种趋势能够持续下去。
但是,如果您主要编写命令式风格的 C# 应用程序,为什么要关心 C# 中的函数式编程支持呢?我鼓励您观看 Uncle Bob 的两个精彩演讲。
第一个是 - SCNA 2012: Robert Martin - 您的 CTO 的合理期望,快进到 28:22,
引用我希望你们每个人都练习持续的积极学习... 软件开发人员的工作,软件开发人员的主要工作之一,就是学习。我们所处的行业正以惊人的速度发展。每隔几年就会出现新的语言,新的流程不断涌现。我们正以疯狂的速度前进。任何稍微落后的开发人员 - 可能都无法恢复。
语言像波浪一样涌现,而作为一名职业程序员的...艺术,就是驾驭这些波浪的艺术。您现在可能非常擅长 Ruby - 但您的职业生涯在 5 年内不会是 Ruby。它会是其他东西。所以,您必须展望下一个浪潮。也许是 Clojure,也许是 Scala,也许是 F# - 谁知道呢!但您必须在那里关注那些浪潮,因为总会有那么一个时刻,您必须跳上下一个浪潮并继续冲浪。
您需要快速学习... 预计每周将花费另外 20 个小时在您的职业生涯上。这就是专业人士所做的。劳动者不会,专业人士 - 会的。
-- Robert Martin
第二个是 - 函数式编程:什么?为什么?什么时候?,快进到 6:43。后一个视频的音质很差,但内容仍然很棒。我希望它能回答您许多问题。顺便说一句,这是该视频中提到的书籍 计算机程序的构造和解释的链接(由麻省理工学院托管)。
如果您仍然认为函数式编程和 F# 仅适用于科研实验室,并且想知道它能用于什么,请不要再犹豫,看看 Jet.com。在 .NET Rocks! 节目 #1240 使用 Rachel Reese 的函数式微服务中,(快进到 10:54),Rachel 提到他们在 Jet.com 上有很多用 F# 编写的微服务,这大大简化了他们的开发。总的来说,这是一个非常有趣的节目。
那么,您准备好跳上下一个浪潮并继续冲浪了吗?