现乐鱼体育代编程语言终极测评:五星篇

2024-05-17

  神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。

  编者按:编程语言哪种好?这可能是许多学习编程人员甚至是外行人员都会面对ReasonML,Elixir的头疼问题。网络上普遍的编程语言介绍,大多都是东拼西凑的内容,并且无法让人真正认识和了解各种语言的优缺点。这篇文章,原标题是These Modern Programming Languages Will Make You Suffer,作者Ilya Suzdalnitski在文章中针对15种编程语言展开了详细测评,希望对你有所帮助。

  ReasonML是一门最终会被编译成JS语言的函数式语言,它主要应用在web前端开发中。ReasonML不是一门新语言,它是OCaml(一种古老而久经考验的编程语言)的新语法。ReasonML由Facebook提供支持。

  ReasonML的语法和JS类似,这使得使用过JS的人很容易上手ReasonML。但是,不像TypeScript,ReasonML并不是JS的超集,也没有继承JS数十年来积累的一些糟糕设计。

  因为ReasonML不准备成为JS的超集,所以这门语言比JS简单很多。任何有过用JS进行函数式编程经验的人,都可以在差不多一周之内上手ReasonML。

  不像Elm,ReasonML甚至不准备成为一门纯的函数式语言,也没有“永不出错”的目标,这意味着ReasonML非常实用,并且专注于开发者生产力,能很快地实现结果。

  ReasonML就是OCaml,这意味着它的类型系统几乎和Haskell一样好,ReasonML类型系统最大的缺点是,缺乏类型类,不过它支持函子(更高阶的模型)。

  如果你正在进行web前端开发,那么你就有机会使用React了。你是否了解,React最开始就是用OCaml写的,然后才被移到JS上来帮助采用?

  ReasonML对于不可变性数据结构有合适的支持,这样的代码不会造成性能问题:

  与JavaScript不同的是,当使用ReasonML时,没有任何东西会得到不必要的重新呈现,非常好的开箱即用的React性能。

  ReasonML几乎不像它的替代语言们那样成熟(比如TypeScript),它在工具方面有一些问题。举个例子,官方推荐的VSCode扩展推论语言服务器目前已损坏,不过还有其他替代品。

  ReasonML在底层使用了OCaml编译器,而OCaml以非常糟糕的编译器错误消息而“臭名昭著”。虽然这不是致命的缺陷,但还是有点令人沮丧,并可能影响开发人员的生产力。

  ReasonML可能就是TypeScript想要实现的结果,只不过TypeScript失败了。ReasonML在JS的基础上增加了静态类型,同时删除了所有糟糕的特征(并增加了真正重要的现代特征)。

  ReasonML获得了“最佳前端语言奖”。毫无疑问,ReasonML是web前端开发最好的选择。

  Elixir可能是世界上最受欢迎的函数式编程语言了。和ReasonML一样,Elixir并不是一门真正的新语言。Elixir是在Erlang三十多年的成功之上建立的。

  Elixir是Go的函数式表亲。和Go相似,Elixir最开始就专注并发性来设计,这是为了利用多核处理器的优点。

  和一些其他函数式语言不同的是,Elixir非常实用。Elixir专注于结果,我们不会在Elixir社区看到很多学术讨论,Elixir论坛上充满了实际问题的解决方案,这个社区对新手特别友好。

  Elixir的闪光点在于它的生态系统。在大多数其他编程语言中,语言和生态系统,是两个独立的东西。而在Elixir中,生态系统中的核心框架是由核心Elixir团队开发的。

  José Valim是Elixir语言的设计者,也是Phoenix和Ecot——Elixir生态系统中两个超级酷的库——的主要贡献者。

  在绝大多数其他语言中,有多个不同的库专注同一个任务——许多不同的web服务器,许多不同的ORM等等。在Elixir中,开发需要专注于一些核心的库,因此库的质量也非常高。

  Elixir库的文档特别好,有许多例子。不像一些其他语言,Elixir的标准库也有很多相关文档。

  Phoenix框架的口号是“Phoenix感觉刚刚好”。与其他语言中的框架不同,Phoenix有很多内置功能。它开箱即。


本文由:乐鱼app官方网站提供