F#在企业和老开发者中仍有不错的地位
英文原文:F# makes headway in the enterprise and with older developers
最近有一项调查阐明了开发者目前使用F#的现状和什么阻碍了F#的发展。以下为来自国外科技网站 ITworld 的整理报道,我们进行了摘译:
当你思考企业所使用的编程语言时,例如 Java、C和 C++ 等的名字就会首先出现在你的脑海里。绝对不会出现F#,它是由微软创建和支持的开源函数式编程语言, 是基于 Ocaml 的,而 Ocaml 是基于 ML 函数程序设计语言的。你可能会认为F#是一个边缘的语言,被用于一些探索和冒险类型的实验,或者是特定的编程,比如金融和数据科学等。然而,一份最近的 F#用户调查表示,该语言在企业的使用情况要可能你想象的要好得多。
这项调查是由 fsharpWorks 主导的,一家总部位于英国的公司,提供F#培训、咨询和开发服务,以及吸引了超过 500 名的F#用户。我最近通过电子邮件联系上了 fsharpWorks 的合伙人之一 Scott Wlaschin,就该调查结果和相关的数据进行了探讨和交流。
正在使用F#的老开发者
虽然有些人会认为一个像F#这样的语言,那些经验丰富的开发者会回避它,可调查结果表明并非如此,因为报告中有 67% 的被调查者的编程经历是 10 年或 10 年以上的,所以这表明老开发者没你想象的那么保守。Wlaschin 在信中说到。
用于企业的F#
有 62% 的被调查者,他们从事企业开发的工作,有 42% 的人表示他们在企业内部项目中使用F#。这一结果亮瞎了我的眼睛,也是让 Wlashcin 非常吃惊的地方,“由于函数式编程往往被认为是深奥和不切实际的,我很高兴地看到,几乎有2/3 的被调查者在从事企业开发工作。”此外,他还告诉我,“我也很高兴的看到,几乎一半的受访者在真实的项目中积极地使用F#,并且在这些情况下,大多数是被 官方支持的。”
F#不仅被用于 Windows
有 37% 的被调查者表示,他们在 Mac 或 Linux 上开发F#应用,也有一个相似比例的是:有 35% 比例的人在那些平台上正在部署F#代码。Wlaschin 指出这可能会让一些人吃惊但他不会。“F#社区会努力工作以确保F#成为更好的跨平台语言,而且我们也希望看到这一数字在未来有所增长。”
代码、文档和工作的缺乏是F#最大的问题
当被问及在学习F#时最令人沮丧的事情时,受访者的最高回答是没有足够的用于学习的现实世界代码(53%),没有一个好的教程/文档 (35%),而且他们也不理解编译器错误(20%)。同样,在用F#开发应用时最令人伤心的事情的前三名是:减少重构工具的复杂性(49%),不得不使用 C#-centric 工具(47%),以及很难实现故障排除(21%)。
为了增强这些研究结果的说服力,还有来自各个在线讨论社区的开发者提出了补充建议:
“……我发现文档的数量是一个问题。总而言之,这让人很难受……”来自 Hacker News 的 saosebastiao
“我只能在互联网上从字面上去理解单一的纯粹的F#应用教程(Scott W. 的 Calculator),它的风格读起来更像是 Java,且是我从未见过的任何符合语言习惯的 FP 代码。此外,bits 到处都是,实际上也没有完整的过程进展图。他们风格颇像,好比以前画猫头鹰的方法,先画眼睛,再干嘛干嘛的。”来自 Hacker News 的 jarcane
“网络上充斥着的F#代码几乎都是玩具代码,给人留下一个不好的印象就是,F#只可以解决玩具问题。”来自 Google Groups 的 Warren Young
Wlaschin 表示,F#社区已经意识到这些问题,并在积极努力解决。总而言之,Wlaschin 对于调查结果非常满意,对于推动F#的未来发展的人也很受鼓舞。他还认为,基于他的观察,对F#感兴趣的人也在增加。“F#博客的流量、F#的大会论坛的 参与人员等都在增加,可以看出感兴趣的人在持续地增多。”
Wlaschin 也担心F#在企业层面有消失的风险,即使F#有相当明显的好处——更正确的代码和更快的开发时间等。
调查地址:F# Survey 2015(由于是谷歌文档,请用梯子。)