3 ms·
Ah, someone with Clojure experience. I wanted Clojure to be my next language to learn, so now I'm curious why you ditched it in favor of Racket? Especially: -
by MrBuddyCasino 12y ago
Ah, someone with Clojure experience. I wanted Clojure to be my next language to learn, so now I'm curious why you ditched it in favor of Racket?
Especially:
- Whats the concurrency story for Racket?
- If I wanted to code my REST endpoints in Racket, are there competitive libraries available?
- logicchains 12y agoRegarding the Racket concurrency story, it has places; http://docs.racket-lang.org/reference/places.html http://docs.racket-lang.org/reference/places.html. "A place is a parallel task that is effectively a separate instance of the Racket virtual machine. Places communicate through place channels, which are endpoints for a two-way buffered communication." So places are somewhat like Erlang processes. Distributed Places are also interesting: http://docs.racket-lang.org/distributed-places/index.html http://docs.racket-lang.org/distributed-places/index.html
- seabee 12y agoPlaces are about parallelism. For concurrency specifically, the most interesting features are threads, channels, and futures and can all be found here: http://docs.racket-lang.org/reference/concurrency.html http://docs.racket-lang.org/reference/concurrency.html Distributed places is pretty cool, however!
- MrBuddyCasino 12y agoThanks. So basically we get most of what Java has to offer plus thread mailboxes, which is nice. Not sure what to make of Places though - zeroMQ exists and has Racket bindings, is there something Places is better at?
- bad_login 12y agoI ditch clojure because i wanted something with a more meta-language capabilities (syntax object + racket macro), it also as a llar parser and a lexer lib which i needed when i made the choice. For the libraries you can checked out yourself at http://pkgs.racket-lang.org http://pkgs.racket-lang.org, for what i do i don't need one of the library. For concurrency keep in mind that racket use green thread where clojure use jvm thread so OS thread in openjdk. I don't what you want to do with clojure, but i think it is a best choice than racket. Clojure as a very opiniated way of how you should write a program and this view reflects in propably every clojure library. The documentation in clojure is lacking but it provide the implementation (on the web page) so the learning is imho faster especialy if you are new commer to functional programming. The other advantage is the leverage it get from the jvm in term of performance use of the java lib.