《Programming Elixir >= 1.6》序言
Elixir 是一门奇妙的语言。我本身是一名 Ruby 开发者,自从第一次接触到 Elixir,就被它类似 Ruby 的语法而同时又拥有的一系列独特特性所吸引。要学习一门新语言,当然是从最经典的书籍开始。而著名的老爷子 Dave Thomas 本身就具有业内卓越的号召力,他亲自撰写的《Programming Elixir >= 1.6》自然是我的首选。于是就从这本书开始我的 Elixir 之旅了。
看这本书的同时,我萌发了翻译的念头。前些年自己的不少同事都曾做过这样的事,现在有了这个契机,于是打算亲自尝试一回,也算是一种不错的经历。于是一边看一边翻译,历时差不多三个月就基本完成了。
当然由于版权原因,不可能在我的博客上放出所有的内容。所以挑选了一些 Elixir 中最有独特性、技术层面最优美的相关章节,准备做成一个系列,陆续登到自己的博客上。
我想第一站从这本书的序言开始是最恰当的。这是 Dave Thomas 老爷子出于自身对 Elixir 语言亲身感受的一个心理历程的描述,很值得一看。
【下面是正文】
A Vain Attempt at a Justification, Take Two
我是个编程语言爱好者。我乐于尝试各种语言,喜欢思考它们的设计和实现。
1998年,作为狂热的 comp.lang.misc 邮件组读者,我偶遇了 Ruby 这门语言。我下载、编译,并从此爱上了它。任何时候你爱上一个东西往往很难解释为什么。它跟我是如此默契,也有足够的深度让我保持对它的兴趣。
15年过去了,这期间我一直在寻找新的能带给我同样感受的东西。
我曾经遇到过 Elixir,但因为某种原因并没有被它吸引。但在我开始写这本书第一版的几个月前,我和 Corey Haines 聊了。我向他哀嚎自己想通过有吸引力的方式向人们展示函数式编程的概念,却不想如那些呆板的学院派书籍一样。他告诉我再去试试 Elixir。我试了,然后找到了当初遇见 Ruby 时的那种感觉。
所以现在的我进入了“危险状态”——我想要让其他的人们知道 Elixir 有多牛,我想传道。所以我写了本书。但我不想再写一本900页的镐头书,我想要让本书简明扼要又激动人心。因此我不打算考究所有的细节,列出全部的语法,以及完整的库函数列表,齐备的 OTP 选项,等等……
相反,我打算带给你们 Elixir 作为编程模型的强大和美。我想激励您参与其中,然后给出能填补空白的在线资源。
但最主要的是,我希望你从中获得乐趣。
3年过去了,Elixir 也在进步。Phoenix,它相应的开发框架,以函数式编程的一整套方案把快乐带给了开发者们。这个精彩的项目使得在 Linux 为基础的微控制器中编写 Elixir 代码变得如此容易。Elixir 本身也在成长,举办了许多全球性、国家或区域性的开发者大会。出现了更多的招聘 Elixir 开发者的岗位。
我自己也同样在进步。但我仍然每天都会使用 Elixir。我刚刚结束了在南卫理公会大学的第二年助教工作——用 Elixir 的魅力诱惑未来的程序员。我写了一个 Elixir 的在线教程。
现在我接到了撰写本书的要求。说实话,这并非必须,因为 Elixir 1.6 跟 1.3 相比并没有那么大的差别使得上一版书就不能看了。但我个人觉得 Elixir 已经成熟,所以现在我要做点不同的事,也乐意把这些分享给你们。