Concurrency 二郎和长生不老药

Concurrency 二郎和长生不老药,concurrency,erlang,elixir,Concurrency,Erlang,Elixir,所以社区,有一个简单的问题要问。我一直在做一些关于学习考虑并发性的语言的研究。目前,我一直在与Scala合作,我很喜欢它。我决定也学习一些其他的语言,这样我就不会专攻某一种语言,而是尽可能多地学习。到目前为止,我非常喜欢EVM,特别是长生不老药 所以,我的问题是:在学习长生不老药之前学习二郎对我有多大好处?我对Elixir的语法等非常感兴趣,但由于是在Erlang上构建的,我不确定直接进入它是否会有伤害。我不认为学习Erlang对学习Elixir有直接的帮助;例如,在Erlang中学习原子的样子

所以社区,有一个简单的问题要问。我一直在做一些关于学习考虑并发性的语言的研究。目前,我一直在与Scala合作,我很喜欢它。我决定也学习一些其他的语言,这样我就不会专攻某一种语言,而是尽可能多地学习。到目前为止,我非常喜欢EVM,特别是长生不老药


所以,我的问题是:在学习长生不老药之前学习二郎对我有多大好处?我对Elixir的语法等非常感兴趣,但由于是在Erlang上构建的,我不确定直接进入它是否会有伤害。

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

然而,Erlang不仅仅是语言Erlang,还有很多东西。最明显的是OTP,这种长生不老药可以利用。现在,没有内在的原因让你不能在Elixir的范围内学习OTP,但是Erlang有好几年的时间来积累关于整个Erlang生态系统的文档、教程、书籍等,Elixir可以使用这些。如果您想了解OTP的详细信息,可以阅读Erlang和OTP的书,但那里的所有代码都是Erlang。如果你同时知道二郎和长生不老药,那么将你从书中学到的知识应用到长生不老药上会容易得多

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

通过rvirding编辑: 我认为你的第一段是错的,因为你在二郎中学到的所有东西都直接适用于长生不老药。所有的数据类型都完全相同,其行为方式也完全相同,这是您所期望的,因为它们是基础BEAM提供的。因此,Elixir atom和Erlang atom是相同的,使用方式完全相同,即使语法(略有)不同。在函数和模块中,您具有相同的基本控制结构和组织代码的方法,因为它们同样是基础BEAM提供的。因此,尽管Elixir在其下面提供了一些额外的高级构造,但它们是相同的


这对于评论来说太大了一点,因此它就在这里结束了。

这是一个开放式的问题。您最好向程序员询问一下。Stackexchange。@rvirding同意,我的意思是,仅仅为了长生不老药学习Erlang是没有必要的,并不是说了解Erlang没有帮助。基本上,如果您的目标是Elixir,那么不需要先学习Erlang atom的语法,因为您可以在Elixir的上下文中学习它。不过,如果你真的知道二郎,这确实很有帮助。好吧,那我误解你了。不,我同意,没有理由将Erlang作为长生不老药的前身来学习,但正如你所说的,一旦你深入到系统中,你将无法避免Erlang。我仍然会在学习长生不老药之前学习Erlang,因为我可以直接联系事物,这将使我的长生不老药学习曲线变得更短更好。此外,在开发任何好的应用程序时,您将 使用第三方库,它们中的大多数将用Erlang编写,您将在项目中添加Erlang。您所说的是正确的,学习Elixir不需要学习Erlang,但是如果您想进行严肃的编程,那么这肯定是一种方法。顺便说一句,我喜欢长生不老药:)一旦你遇到需要,学习二郎就更有意义了。如果你从来都不需要它,那么你就永远不会浪费时间在兔子的足迹上。如果你需要它,你就会知道你要解决什么问题,从哪里开始。如果你想学习Erlang只是为了好玩,那就把自己击倒吧。这肯定是有价值的。这就像为了学习西班牙语而学习拉丁语:如果你已经知道拉丁语,那么西班牙语会更容易,但是如果你的目标是学习西班牙语,那么增加一些初步的步骤只会减慢你的速度,延迟实现你的目标。