【问题标题】:"Erlang" vs "zeromq+any language" for Embedded Applications嵌入式应用程序的“Erlang”与“zeromq+任何语言”
【发布时间】:2012-09-21 23:45:21
【问题描述】:

我想为嵌入式处理器编写演员风格的代码,我正在尝试在用 Erlang 编写所有内容与用 zeromq+任何语言编写所有内容之间做出决定。从某种意义上说,使用 zeromq 看起来非常强大,因为我可以使用任何编程语言并使我的开发变得更加容易(许多可用的库),但是我不确定这种能力是否有任何陷阱?我知道 Erlang 可以更好地表示演员模型,尤其是使用 OTP 概念,但是用 zeromq 表示类似的演员模型似乎很容易?我看对了吗?

1. 如果不将 Erlang 用于嵌入式应用程序(不需要分布式处理,Erlang 的一个重点),并且只是在 zeromq 等通用消息传递框架之上构建东西,我真的会失去什么?

2. Erlang 为非分布式嵌入式应用程序提供的不仅仅是协调的消息传递框架吗?

3. Erlang 的哪些特定功能可能需要太长时间才能使用 zeromq 实现?

【问题讨论】:

    标签: erlang zeromq


    【解决方案1】:

    你在比较苹果和橘子。使用 Erlang 的部分优势在于语言;如果您要将它与 zmq + 其他语言相提并论,那么该比较中的其他语言确实很重要。 zmq + ARM 组装? Erlang 带来了非手工编码 ASM 的所有美妙优势。

    至于 Erlang 还带来了什么,Embedded Erlang? Absolutely 认为 Erlang 在容错、热代码加载、利用 Erlang 和 OTP 的快速开发、与 C 库的轻松交互以及通过实时 REPL 和复制粘贴条款。

    其中一些东西,例如热重载、设备上 REPL 和已建立的库,肯定需要一些真正的黑客才能从头开始重现。

    【讨论】:

      【解决方案2】:

      我的意思是,您必须非常努力地在 Zmq 中获得相同类型的错误处理。当事情开始变糟时,Erlang 有一些非常好的内置错误处理。 Erlang 花费了大量时间优化该部分并使其健壮。

      另一方面,当您进行简单的基准测试时,Zmq 在与某些语言的某些组合中可能更快。开销更少,因此它处理消息的速度可能比 Erlang 所能提供的更快。

      但很有可能您最终会用您选择的语言重新实现大部分 Erlang。而且你可能不会像在 Erlang/OTP 上工作了 15 年的 6 到 10 名开发人员那样出色。

      另一方面,Erlang 并不是一门简单易学的语言。除了学习如何以功能风格进行编程之外,还有更多的方法。尤其是并发模式和故障处理可能需要一些时间来适应。

      【讨论】:

        【解决方案3】:

        ZeroMQ =/= Erlang 涵盖了许多不同之处。声称 ZeroMQ 只提供消息传递方面,而不提供轻量级流程、流程监控和其他方面。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-07
          • 1970-01-01
          • 2010-10-02
          • 2019-08-12
          • 2018-07-30
          • 2011-01-07
          • 1970-01-01
          相关资源
          最近更新 更多