(José Valim and Aaron Patterson)
@josevalim是我很崇拜的一位,自 2010 年加入 Rails Core 之后,到现在是 Rails 代码提交量的第二名(仅次于@dhh),Plataformatec 的 Co-Founder,@josevalim也是 Devise 和 SimpleForm 等 gem 的主要作者,最特别的是他还是一门编程语言的作者(Elixir)。
这个演讲来自于 2011 GoldenGateRubyConf,@josevalim通过在编写 Elixir 解释器是遇到的问题,向观众解释了 Ruby 语法的一些特别之处,大概包含如下内容:
关于 Elixir:
Elixir 是一门运行在 Erlang VM 上的编译型的函数语言,拥有 Ruby 的语法,Haskell 的 Pattern,Clojure 的 Protocol,Erlang 的 Actor,Elixir 的代码最终编译为 Erlang VM 字节码,由 Erlang VM 执行,所以 Elixir 和 Erlang 的二进制代码可以不加修改的互相调用。
jose 从 2011 年初开始开发 Elixir,但到 2011 年底时 jose 发现 Elixir 的很多的地方偏离了 Erlang(当初 jose 想将 Elixir 设计成一门 OOP 语言),之后 jose 和@wycats重新起草了一份名叫 Lego 的语言规范 https://github.com/josevalim/lego-lang ,该语言规范最终成为现在 Elixir 语法的基石。
Elixir 在语言之外有些特别之处:
具体的语言细节可以参见官方网站以及 Github:
http://elixir-lang.org/ https://github.com/elixir-lang/elixir
Elixir 现在已经是一门可以实际使用的语言,不过由于开发过于迅速,API 变化的十分频繁,据 jose 本人所说,今年年会有一个 Stable 版本发布(那时候 Dave Thomas 的书也会正式发售),大家到时候可以去尝试一下。