0

SO社区,只是有一个快速的问题要问。我一直在对学习具有并发性的语言进行一些研究。目前,我一直在使用 Scala,我一直很喜欢它。我决定也学习一些其他的,以免专门研究一种特定的语言,而是尽可能多地学习。到目前为止,我非常喜欢 EVM,特别是 Elixir。

所以,我的问题是:在学习 Elixir 之前学习 Erlang 对我有多大好处?我对 Elixir 的语法等非常感兴趣,但是基于 Erlang 构建,我不确定直接跳入它是否会受到伤害。

4

1 回答 1

2

我不认为学习 Erlang对学习 Elixir有直接的帮助。例如,在 Erlang 中学习原子的外观不会影响您在 Elixir 中学习原子的方式。

然而,Erlang 不仅仅是 Erlang 这种语言。显而易见的是 OTP,Elixir 可以使用它。现在,你不能在 Elixir 的范围内学习 OTP 并没有内在的原因,但是 Erlang 多年来积累了关于整个 Erlang 生态系统的文档、教程、书籍等,这些都是 Elixir 可用的。如果你想了解 OTP 的细节,你可能会拿起这本书Erlang and OTP in Action,但那里的所有代码都是 Erlang。如果您同时了解 Erlang 和 Elixir,那么将您从书中学到的知识应用到 Elixir 会容易得多。

或者想想用 Erlang 编写的第三方工具。Elixir 可以使用这些,但文档很可能会假设您正在使用 Erlang,因此再次了解 Erlang 将帮助您将所学知识应用到 Elixir。

rvirding 编辑: 我认为您在第一段中是错误的,因为您在 Erlang 中学到的所有内容都直接适用于 Elixir。所有数据类型完全相同,并且行为方式完全相同,这正是您所期望的,因为它们是底层 BEAM 提供的。因此,Elixir atom 和 Erlang atom 是相同的,并且以完全相同的方式使用,即使语法(略微)不同。在函数和模块中,您拥有相同的基本控制结构和组织代码的方法,因为它们是底层 BEAM 提供的。所以虽然 Elixir 在下面提供了一些额外的高级构造,但它们是相同的。

这对于评论来说有点太大了,因此它结束了。

于 2014-02-27T18:07:48.703 回答