别忙着撒欢儿了,送你一本《前端函数式攻城指南》可好?

今日推荐

今天推荐欧阳继超老师的新书——《前端函数式攻城指南》,本书获CrossEye重磅推荐,致力于教你用JavaScript编写出优雅的函数式代码,以不一样的方式思考和解决问题。

?依然放猛料,我们将在评论区选出五位幸运读者送书,名单将在下周五(10.28日)公布,在此之前参与评论都有机会哦。?

  • 这里有,大部分函式编程思想、Clojure风格的JavaScript、用JavaScript所能实现的奇技淫巧
  • 这本书,说人话讲干货,让你轻松get新技能
  • 无论你是哪类开发者,都能从书中收获一些启发

Surprise:章节抢先看!

函数式编程可以说是非常古老的编程方式,但是近年来函数式编程越来越受到人们的关注。不管是Google力推的Go、学术派的Scala与Haskell,还是Lisp的新方言Clojure,这些新的函数式编程语言都越来越受到人们的关注。

当然,不仅是后端函数式编程语言层出不穷,前端也不甘示弱。

虽然前端浏览器只支持一门语言——JavaScript,但是能支持函数式编程的JavaScript库越来越多,比如Functional JavaScript、Underscore、lodash等。不仅如此,还有一些能编译成JavaScript的语言,能让前端的函数式编程发挥到极致,例如Haskell的PureScript、Scala的Scalajs、Clojure的ClojureScript。

我两次都以Clojure结尾,是因为我喜欢把重点留到最后。Clojure独特于其他语言,它既是一门新的语言、一门函数式编程范式的语言,又流淌着古老的血液——Lisp。这是我选择用Clojure来诠释函数式编程的原因之一。

那么为什么我要选JavaScript作为函数式编程的目标呢?

Michael Fogus用200多页向大家展示了不一样的Functional JavaScript编程方式,可惜Fogus作为ClojureScript编译器的贡献者,竟然选择了Underscore作为函数式库,直接导致并不能完全展示JavaScript所能达到的函数式编程能力。

有趣的是,ClojureScript的作者把ClojureScript的不可变(Immutable)数据结构移植到了JavaScript,这彻底将 JavaScript 的函数式编程提升到了用其他库都完成不了的新高度。

不仅如此,Mozilla的Sweet.js更是完成了另一个突破——JavaScript的macro,它虽然不能算是函数式的概念,但也算是Lisp语言的一项独门绝技了。

这一切的一切,都让我忍不住要帮Fogus出一本续集

用JavaScript实现其他函数式编程语言如Clojure甚至是Haskell的奇技淫巧,让大家进一步感受用JavaScript这门不完美的语言同样可以编写出优雅的函数式代码,以不一样的方式思考和解决问题。

所以不管你是想转行JavaScript的Clojure开发者,还是想了解Clojure或函数式编程的JavaScript开发者,都可以在此找到一些启发。

原文发布于微信公众号 - 思特沃克(ThoughtWorks)

原文发表时间:2016-10-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程心路

从王者荣耀看设计模式-策略模式(java版)

曾经我也是一名玩农药的大学生,但现在已经弃了,别问我为什么(被坑爹队友坑的哭。。。)。而今天我们来把让农药变荣耀,我们来从王者荣耀中看设计模式的策略模式。

17450
来自专栏数据结构与算法

P1070 道路游戏

题目描述 小新正在玩一个简单的电脑游戏。 游戏中有一条环形马路,马路上有 n 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接。小新以某个机器人工厂为起点,...

29960
来自专栏IT派

JavaScript 2018:标星知识点及次要点梳理一览

作者 | Michelle Gienow 翻译 | NimitzDEV 来源 | 众成翻译 JavaScript 现今已发展成熟——我们也不再是在页面上做一些小...

359110
来自专栏企鹅号快讯

或许,这会是全民皆知的一门编程语言

不久前,国务院印发了《新一代人工智能发展规划》,其中明确指出,要实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于...

37850
来自专栏北京马哥教育

7个案例15分钟让你了解Python套路!

古人云:书山有路勤为径 学海无涯苦作舟 。 注:一般标榜着 “ XX天学会XX”、“ XX 分钟了解XX”的文章都不会是让你增长功力的文章,如本文。 随着互联...

38960
来自专栏计算机视觉与深度学习基础

Google面试经历-二

A Day with Google! Google实习生面试经历! A Day with Google活动 3月12日 ,A Day with Goo...

37260
来自专栏java达人

或许,这会是全民皆知的一门编程语言

不久前,国务院印发了《新一代人工智能发展规划》,其中明确指出,要实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于...

21580
来自专栏owent

2011 Google Code Jam 小记

好久没写这种类型的代码,感觉真是退步了很多。 这是我第一次参加Google Code Jam,以前有过报名可是没有做过。 我发现Google Code Ja...

85610
来自专栏专知

关关的刷题日记87 – Leetcode 171. Excel Sheet Column Number

关关的刷题日记87 – Leetcode 171. Excel Sheet Column Number 题目 Related to question Excel...

40280
来自专栏海天一树

我是如何成为一名少儿编程竞赛老师的

2017年9月,我以前一个同事问我能不能教他小孩Theo学习编程,因为以前在同一家公司时,我那同事经常带Theo去公司,我和Theo也认识,所以我答应了。

25840

扫码关注云+社区

领取腾讯云代金券