in any case this lib is really the opening to the inter-process communication practically without limit (I have not read until the end)
it's a godsend you wore this to use it with nim
thank you
In my opinion, nim-zmq is as mature as libzmq.
I ask this question because I find this communication very appropriate and much extended (mqueue etc ...)
if you don't mind what do you think nanomsg other than it's posix oriented
Nanomsg supposedly "died" in 2016 so I'll talk about is successor : nanomsg-next-generation or NNG (it's the same project and dev team I believe).
NNG It's a bit more complex to use, but it also does more things. Most notable differences:
iI've used NNG way less than ZMQ so there may be missing information in this post.
The benefit of ZMQ over NNG :
I don't think the choice of C for NNG (vs C++ for ZMQ) was because of safety.
One of the goal of NNG was less dependency and more portability towards embedded (I assume their goal is for NNG to replace MQTT for IoT).
They have a presentation https://staysail.github.io/nng_presentation/nng_presentation.html for more details.
Basically, my personal opinion is that ZMQ is the reliable old-one while NNG is the young & dynamic library with new features, async supports, and wider variety of network protocol and patterns.
Both library actually define protocols - ZMTP for ZMQ, Scalability Protocol for NNG - that could be implemented in any language.
thank you for the very interesting feedback
ps (I spoke to Araq, saw his name linked on github (nim-lang) and didn't know who to contact)
Both library actually define protocols - ZMTP for ZMQ, Scalability Protocol for NNG - that could be implemented in any language.
Indeed, and, paraphrasing the slogan of my Rust brethren, I'd like to see them rewritten in Nim!
Only partly joking there, if you need it yesterday, bind to C/C++, of course. Rewriting in Nim has benefits for the Nim ecosystem.