保存成功
订阅成功
保存失败,请重试
提交成功
人数未达标 · 本场 Chat 终止

Elm:程序员的第一门函数式编程语言

¥2.99会员免费看
shuhari
4

可能大部分朋友和我一样,都是从主流的命令式语言进入编程这个世界的。与此同时,我们多少应该听说过另外一个传说中的神奇世界,叫做“函数式编程”,据说那里的代码简洁优雅、容易扩展,并且轻而易举地解决了并发的难题。但是,如果真的鼓起勇气去学习经典的函数式语言,比如 Lisp 或者 Haskell 的话,多半会因为难以理解它们怪异的语法和思维范式而打退堂鼓。可能更现实的障碍是,这些语言所采用的例子大多是一些宛如智力游戏般的数学问题,缺乏对普通人友好的实际应用案例,一般程序员需要跨越极大的思维藩篱才能够将它们应用到日常工作中,这就给它们的普及带来了诸多困难。

在所有函数式编程语言中,Elm 可能是最为平易近人的,这是因为它设计之初就以前端开发为目标。按照作者的说法,目前的前端编程复杂得让人失望,而他希望用函数式编程的方法来解决这个问题。对于有经验的前端开发者,可能在其他语言和框架中看到过类似的解决思路,比如 Virtual DOM、不可变数据以及声明式编程等等,但 Elm 把这些概念直接内置于语言之中,比起基于第三方框架的解决方案要来得更加简洁、一致且清晰。实际上,Redux 框架的设计就直接受到了 Elm 的影响。

对于普通程序员来说,尽管仍然需要适应函数式编程带来的特殊思维与语法,但只要掌握少数几个核心概念,我们很快就可以用 Elm 来生成可以浏览与展示的网页,然后在此基础上进一步添加更多互动式的内容。这种快速的反馈循环对于学习者来说是一个巨大的激励,也是 Elm 比较其他函数式编程语言更为友好的重要原因。因此,如果朋友们不满足于用 Java/JavaScript 这些主流语言中“附带”提供的函数式功能,而是希望进一步体验更加纯粹的函数式编程的话,那么 Elm 就是一个非常好的选择。同时,Elm 所提供的 Model-View-Update 范式为传统的前端开发者提供了一个全新的视角,可以说,当你掌握该范式之后,会深刻地影响你对整个前端开发的看法。

本文的写作主要有两个目的:

  1. 向还不熟悉 Elm 的开发者提供一个较为全面的语言预览,以了解该语言的特点和主要面貌,并展示如何将它应用于实际的前端开发;
  2. 概述关于该语言的一些常见的兼容性问题,以及对应的解决办法。
预订人数未达标,本场 Chat 终止
详情
56 人已预订
60 预订成功
预订未达标·本场 Chat 终止
订阅须知

预订后,您将在 19.12.26 之前获得一篇专享文章。

请务必 关注 GitChat 服务号 以查看活动进度及获取活动通知。

届时文章未达标,款项将退回到微信账户。

微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效
严选标准
知道了
Chat 状态详情
开始预订
预订结果公布19.12.19

预订达标,作者开始写作

审核未达标,本场 Chat 终止

作者文章审核结果公布19.12.26

审核达标,文章发布

审核未达标,本场 Chat 终止

Chat 完结
×
已购列表