Erlang &引用;“二郎”;vs";zeromq+;“任何语言”;用于嵌入式应用程序

Erlang &引用;“二郎”;vs";zeromq+;“任何语言”;用于嵌入式应用程序,erlang,zeromq,Erlang,Zeromq,我想为嵌入式处理器编写演员风格的代码,我正试图在用Erlang编写所有代码与用zeromq+任何语言编写所有代码之间做出选择。使用zeromq看起来非常强大,因为我可以使用任何编程语言,并使我的开发变得更容易(许多可用的lib),但我不确定这种能力是否有什么不足之处?我知道Erlang更好地表示参与者模型,特别是使用OTP概念,但是使用zeromq表示类似的参与者模型似乎很容易?我看得对吗 1.如果不在嵌入式应用程序中使用Erlang(不需要分布式处理,Erlang的一个功能点),而只是在zer

我想为嵌入式处理器编写演员风格的代码,我正试图在用Erlang编写所有代码与用zeromq+任何语言编写所有代码之间做出选择。使用zeromq看起来非常强大,因为我可以使用任何编程语言,并使我的开发变得更容易(许多可用的lib),但我不确定这种能力是否有什么不足之处?我知道Erlang更好地表示参与者模型,特别是使用OTP概念,但是使用zeromq表示类似的参与者模型似乎很容易?我看得对吗

1.如果不在嵌入式应用程序中使用Erlang(不需要分布式处理,Erlang的一个功能点),而只是在zeromq这样的通用消息传递框架上构建东西,我真正会失去什么

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


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

您正在比较苹果和橙子。使用Erlang的部分优势在于语言;如果你想把它与zmq+其他语言进行比较,那么比较中的另一种语言真的很重要。zmq+臂组件?Erlang带来了非手工编码ASM的所有优点

至于Erlang还带来了什么,他认为Erlang在容错、热代码加载、利用Erlang和OTP进行快速开发、易于与C库交互以及通过实时复制和术语复制粘贴进行简单调试方面具有优势


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

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

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

但很有可能最终会用您选择的语言重新实现大部分Erlang。而且,在15年内,您可能无法在Erlang/OTP上完成6-10名开发人员所能完成的工作

另一方面,Erlang不是一种简单的学习语言。这不仅仅是学习如何以功能性风格编程。尤其是并发模式和故障处理可能需要一些时间来适应。

涵盖了许多不同之处。有人声称ZeroMQ只提供消息传递方面,而不提供轻量级进程、进程监视和其他方面