4 ms·
I am also interested to know how it compares to Clojure.
by S4M 14y ago
I am also interested to know how it compares to Clojure.
- MatthewPhillips 14y agoBecause Racket has a run-time it competes directly with Clojure, which is obviously widely popular. You can bundle the Racket runtime in your binaries but startup is slow (much slower than Gambit, for example). So for me at least, it's simple. If I don't care about startup time and just want the best ecosystem, Clojure is a no brainer. If I do care about startup, you have to pick one of the Lisps, probably either SBCL or Clozure.
- gcr 14y agoDo you mean to pick one of the "Common Lisps"?
- MatthewPhillips 14y agoYes, sorry.
- kyllo 14y agoHere's an older HN post comparing some of the pros and cons of the two languages: http://news.ycombinator.com/item?id=1594479 http://news.ycombinator.com/item?id=1594479
- klibertp 14y agoDon't read this post. Racket since grew a full library of purely functional datastructures, cleaned up hashes, provides builtin streams and generators and as for the syntax - well, it's a lisp: write your own syntax and be done with it! ;) [edit: https://github.com/takikawa/racket-clojure/blob/master/lang/clojure.rkt https://github.com/takikawa/racket-clojure/blob/master/lang/...] Anyway, this post should be either updated or at least marked as not entirely relevant three years later.
- kyllo 14y agoThat's good to know, thanks. I'm taking a Coursera course that teaches Racket, so I just started learning it this week. First time using a Lisp/Scheme family language. So far I actually really like the use of parentheses and the concept of the code itself being a data structure. I'll probably give Clojure a try once I have a firm grasp on Racket, they seem quite similar.
- seanmcdirmid 14y agoThe most glaring difference between the two would be that clojure runs on the JVM, while racket has its own custom VM that can better support trick features like continuations but is not operable with a big existing ecosystem like Java.
- cicero 14y agoClojure has some nice syntax and conventions for dealing with sequences, vectors, maps, and sets, such that it encourages working with those data structures until performance requires something more specialized. It also has some very well thought out mechanisms for concurrency. I would think these things could be implemented in Racket. In fact, I would love to see a Racket implementation of Clojure (minus the JVM bits) that was nicely integrated into DrRacket.