By Pieter Hintjens, CEO of i Matix Please use the issue tracker for all comments and errata.This version covers the latest stable release of Zero MQ (3.2).If you are using older versions of Zero MQ then some of the examples and explanations won't be accurate.
We've also translated most of the examples into C++, C#, CL, Delphi, Erlang, F#, Felix, Haskell, Java, Objective-C, Ruby, Ada, Basic, Clojure, Go, Haxe, Node.js, ooc, Perl, and Scala.
Zero MQ (also known as ØMQ, 0MQ, or zmq) looks like an embeddable networking library but acts like a concurrency framework.
It gives you sockets that carry atomic messages across various transports like in-process, inter-process, TCP, and multicast.
You can connect sockets N-to-N with patterns like fan-out, pub-sub, task distribution, and request-reply.
It's fast enough to be the fabric for clustered products.
Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous message-processing tasks.It has a score of language APIs and runs on most operating systems. We took a normal TCP socket, injected it with a mix of radioactive isotopes stolen from a secret Soviet atomic research project, bombarded it with 1950-era cosmic rays, and put it into the hands of a drug-addled comic book author with a badly-disguised fetish for bulging muscles clad in spandex. On the one hand this strange name lowers Zero MQ's visibility on Google and Twitter.Yes, Zero MQ sockets are the world-saving superheroes of the networking world. On the other hand it annoys the heck out of some Danish folk who write us things like "ØMG røtfl", and "Ø is not a funny looking zero!" and "", which is apparently an insult that means "may your neighbours be the direct descendants of Grendel! Originally the zero in Zero MQ was meant as "zero broker" and (as close to) "zero latency" (as possible).Since then, it has come to encompass different goals: zero administration, zero cost, zero waste.More generally, "zero" refers to the culture of minimalism that permeates the project.