3 ms·
To me it looks like a ZeroMQ client can be written in many languages so you don't need to know Clojure to use it. Therefore the article has an extra barrier to
by tieTYT 13y ago
To me it looks like a ZeroMQ client can be written in many languages so you don't need to know Clojure to use it. Therefore the article has an extra barrier to entry for understanding the content because more people understand OOP languages like Java than Clojure.
I guess my point is, don't skim the article and think it's not for you because you don't know Clojure. Here's a list of languages it supports ( http://zguide.zeromq.org/page:all#Ask-and-Ye-Shall-Receive http://zguide.zeromq.org/page:all#Ask-and-Ye-Shall-Receive ):
C++ | C# | Clojure | CL | Delphi | Erlang | F# | Felix | Go | Haskell | Haxe | Java | Lua | Node.js | Objective-C | Perl | PHP | Python | Q | Racket | Ruby | Scala | Tcl | Ada | Basic | ooc
- augustl 13y agoOP here, thanks for making that clear. I intentionally tried to keep the Clojure code as generally easy to read as possible, and aside from the big Clojure win (more specifically, functional programming win) towards the end, the code is pretty generic ZeroMQ stuff. I suppose it's not a coincidence that the ZeroMQ docs has the code snippets available in many programming languages :)
- ajkjk 13y agoI have to confess that I, as a non-Clojure-speaker, found it much less interesting after seeing that your example was in Clojure. Using less common languages as examples makes it feel like it's in that big world of amusing side projects instead of something trying to be mainstream. Not on purpose, it's subconscious.
- TeMPOraL 13y agoOTOH, Clojure gets more common as more people use it in examples. Subconsciously, if you keep seeing this strange language every other example code then you start to think that maybe it's not so side-projecty after all.
- chongli 13y agoThat's really not fair, to be honest. The ony way for small languages to break through is to get a lot of exposure so that people start using them.
- krichman 13y agoOn the contrary, if I see someone writing in Clojure or Scala it is a good indicator that they can be taken seriously.
- doublec 13y agoI wrote an ATS binding which I use in a number of projects: https://github.com/doublec/ats-libzmq https://github.com/doublec/ats-libzmq I attempted to use ATS features to make sure resources are cleaned up and msg data usage is statically checked for correct sizes, etc.
- chewxy 13y agoOT, but someone should go update the Golang version to use zerocopy.
- enduser 13y agoHere is a more complete list of language bindings taken from http://www.zeromq.org/bindings:_start http://www.zeromq.org/bindings:_start Ada, Bash, Basic, C, Chicken Scheme, Common Lisp, C#, C++, D, Delphi, Erlang, F#, Felix, Flex (ActionScript), Go, Guile Scheme, Haskell, Haxe, Java, JavaScript (Node, Flash), Julia, LabVIEW, Lua, Nimrod, Objective-C, Objective Caml, ooc, Perl, PHP, Python, Q, Racket, R, REBOL (2 and 3), Red, Ruby, Scala, Smalltalk, Tcl, XPCOM
- bitops 13y agoIs it now possible to use ZeroMQ in JVM languages without JNI? I used ZeroMQ with Java 2 years ago and had to use JNI to make it work. (Which I did not like).
- gislik 13y agoYes, you can. The ZeroMQ git repository now contains a pure Java implementation of ZMTP/2.0 which aims to be compatible with libzmq 3.2.2. https://github.com/zeromq/jeromq https://github.com/zeromq/jeromq I've recently started to migrate my ZeroMQ/JNI to pure JeroMQ and I have a few simple components in production already.
- augustl 13y agoOP here, the examples are using JeroMQ. Actually, that's a lie, I use JZMQ. But the APIs are identical :)