阅读更多

0顶
0踩

编程语言
最近有一项调查阐明了开发者目前使用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# makes headway in the enterprise and with older developers

调查地址:F# Survey 2015(由于是谷歌文档,请用梯子。)
  • 大小: 81.8 KB
  • 大小: 97.2 KB
  • 大小: 35.9 KB
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 正确认识C语言在当代的地位和作用

    无意中在网上看到了06年的一些关于C语言还是否值得大部分的程序员去学习的争论。中间涉及到了大量的C语言与C++、C#的一些对比, 现整理出来, 方便大家查看。也是自己做个笔记。 为什么每个程序员都应该学习...

  • 企业面试

    读写分离配置:在项目中我们配置了两个数据源,一个主数据库的,一个是从数据库的,在事务配置的时候,我们给从的数据dataSource配置了只读事务,在项目中根据操作判断注入不同的数据源,如果是增删改操作的注入主的...

  • Go 2.0 该如何满足开发者的期待?

    作者 |Seth Vargo 译者|弯月出品 | CSDN(ID:CSDNnews)虽然 Go 是我最喜欢的编程语言之一,但它远不够完美。在过去的 10 年里,我使用 Go 构...

  • 大图书馆 #3 知识社群

    时隔两年,以姜宁老师的分享为契机,我重读了《知识社群》[1]一书。结合这两年在开源社群方向的经验,我从中发现了不少极具实践价值的内容。《知识社群》一书从知识社群的社会性出发,从知识社群的历...

  • C++语言:C语言/C++语言的简介、发展历史、应用领域、编程语言环境IDE安装、最强学习路线之详细攻略

    ​ C++语言:C语言/C++语言的简介、发展历史、应用领域、编程语言环境IDE安装、最强学习路线之详细攻略 ... 1995年之前,江湖比较平静,编程语言有C、basics、pascal、 fortran、汇编语言,还有foxbase(曾经被列入

  • 夜天之书 #29 Two Hats of Developers

    今天要讲的话题是我在不同场合下提及过这个概念多次的话题。Two Hats of Developers 即开源社区的 contributor 在参与过程中拥有多重身份,既是开源社区当中的志愿...

  • 大图书馆 #2 大教堂与集市

    这在社区中很容易理解,当项目“所有者”不愿意或者不能在开发和维护中投入必要的时间时,他(她)有义务将项目移交给一个有能力的继任者。 第三种方式是一个项目需要维护但项目所有者已经消失或失去兴趣了。如果你...

  • 三年一跳槽、拒绝“唯学历”,火速 Get 这份程序员求生指南!

    此外,根据《2019 年 Stack Overflow 开发者调查报告》,在全球范围内,使用 Clojure、F#、Elixir 和 Rust 的开发者工资最高,即使他们拥有的经验不多也会获得丰厚的报酬。然而,使用“古老”的 PHP、汇编和 VBA 的...

  • 企业级WEB应用服务器TOMCAT

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,Tomcat 具有处理HTML静态资源页面的功能,它还是一个Servlet和JSP容器...

  • 【精读】1234- 上帝视角来看 2022 年前端趋势

    我们认为,目前都处于在混沌中寻找出路,针对 Web3.0 的形式、构成和应用,在每个人各抒己见、畅所欲言发表看法之后,经过一系列的沉淀,出来的结果会让 Web3.0 轮廓更加清晰。比如 User Own Content 具体的含义是...

  • 这是你所了解的FaaS 么?——无服务计算的10个思考

    如今,云计算特别是基础设施即服务(Infrastructure-as-a-Service,IaaS)已经成为广泛采用的系统架构,并且可以根据需要提供虚拟机。企业越来越多地采用云计算的一个主...

  • 值得关注的开源软件推荐

    在这里我们把你可能用到的开源软件分成 4 大类 15 个小类 45 个软件去有层次的了解和学习。这些被选的开源软件都经过广泛应用、有用户群和稳定的更新频率,它们可能不是最流行的,但具有一定的代表性,提供给大家...

  • JBI学习笔记

    业界正在广泛寻求解决 B2B 以及 EAI (企业应用集成)所存在问题的方案。这些方案不同于基于 JMS 手段的面向消息中间件技术和 Web 服务技术。本笔记概括地阐述了与 SOA (面向服务体系架构)规范及 ESB (企业服务...

  • 工作中使用到的单词(软件开发)

    フリガナ 注音假名 Excel 中有此功能 在 Excel 的 Home(ホーム)タブ中 6.ハッシュ(MD5、SHA1、SHA256) アルゴリズム hash algorithm 算法 [ˈælɡəˌrɪðəm] ls -recurse -file | Get-FileHash -...

  • 工作中使用到的单词(软件开发)_2023_0316备份

    フリガナ 注音假名 Excel 中有此功能 在 Excel 的 Home(ホーム)タブ中 6.ハッシュ(MD5、SHA1、SHA256) アルゴリズム hash algorithm 算法 [ˈælɡəˌrɪðəm] ls -recurse -file | Get-FileHash -...

  • Spring 3.x企业应用开发实战

    Spring 3.x企业应用开发实战     陈雄华 林开雄 著                                       Publishing House ofElectronics Industry 北京· BEIJING

  • Linux学习和阿里云服务器的配置(感谢秦老师)

    我们为什么要在这个时间学习Linux?Java全栈开发的我们要掌握哪些知识?需要准备什么工作?Java开发之路:JavaSE、MySQL、前端(HTML、Css、JS)、JavaWeb、SSM框架(很多人就开始找工作了!Linux (CentOS 7) 操作...

  • Kafka 入门与实践

    本书以 Kafka 0.10.1.1 版本以基础,对 Kafka 的基本组件的实现细节及其基本应用进行了详细介绍,同时,通过对 Kafka 与当前大数据主流框架整合应用案例的讲解,进一步展现了 Kafka 在实际业务中的作用和地位。...

  • 来自未来,2022 年的前端人都在做什么?

    我们认为,目前都处于在混沌中寻找出路,针对 Web3.0 的形式、构成和应用,在每个人各抒己见、畅所欲言发表看法之后,经过一系列的沉淀,出来的结果会让 Web3.0 轮廓更加清晰。比如 User Own Content 具体的含义是...

Global site tag (gtag.js) - Google Analytics