我是 Elixir 的新手,甚至是函数式编程的新手。我了解Python和Java。我将它们用于我的数据科学项目。学习 Elixir 是否需要了解 Erlang VM?如果是的话我如何理解 Erlang VM ?
如果有一个学习 Elixir 的指南可以遵循,对于像我这样的人来说将会非常有益。
关于Erlang VM最需要了解的是进程模型,这在Erlang和Elixir中是相同的。 文档中有一个关于它的页面,这里是一篇包含一些实际示例的博客文章。
进程模型也会影响垃圾收集的方式;这与其他语言的工作方式不同。 这个问题涉及一些细节,但最重要的一点是进程根据进程本身的内存使用情况独立进行垃圾收集。 如果您想了解其幕后工作原理,没有什么比这篇博文更好的了。
除了如何在 Elixir 中调用 erlang 函数之外,可能不需要了解 erlang 语法。学习 erlang(语言)很有趣,但更重要的部分是了解有关 BEAM(erlang/elixir VM)的内容,例如..
演员模型https://www.youtube.com/watch?v=7erJ1DV_Tlo这将是对下一点的介绍性理解..
流程、主管和工人http://learnyousomeerlang.com/building-applications-with-otp
学习“让它崩溃咒语”之类的东西,这会如何改变为什么你在 Elixir 中几乎看不到(也不应该依赖) try/catch。
不可变数据
ets 表和 BEAM 默认提供的其他类型的存储。
如何启动/使用进程
聚类
这些是虚拟机为您提供的一些东西。以及一些使你在 Elixir 中看到的模式变得不同的架构 然后还有许多其他语言。