6 ms·
Off-topic Why racket is not more popular than other lisp dialects?
by z3phyr 14y ago
Off-topic Why racket is not more popular than other lisp dialects?
- S4M 14y agoI 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.
- nnq 14y ago...because people tend to google who else is using it "in production" before using a language? I looked at it and despite all cool language and cool tooling, I wouldn't choose it over CL or Clojure. But isn't Racket the most popular of the Scheme dialects? And, as a joke, their name is really bad for business, though I happen to like it just because of this ;) : For "racket", in my part of the world, the first meaning of the word that pops to one's mind is the one related to violent organized crime. Even in the English dictionary there's the "2. A dishonest business or practice, especially one that obtains money through fraud or extortion." meaning (http://www.thefreedictionary.com/racket http://www.thefreedictionary.com/racket)
- groovy2shoes 14y agoI think the name is a pun on Scheme: pyramid scheme, Ponzi scheme, ..., Racket. It's intentionally meant to evoke that image of fraud. http://en.wikipedia.org/wiki/Pyramid_scheme http://en.wikipedia.org/wiki/Pyramid_scheme http://en.wikipedia.org/wiki/Ponzi_scheme http://en.wikipedia.org/wiki/Ponzi_scheme
- juan_juarez 14y agoGNU Guile.
- groovy2shoes 14y agoAnd Larceny http://www.larcenists.org/ http://www.larcenists.org/
- Avshalom 14y agoScheme was/is seen as a teaching tool/research platform while CL was/is the language to actually make something in. Doubly so with PLTScheme being marketed as a teaching tool, just never got the momentum. The re-brand wasn't a bad idea in that respect but they probably should have held off until they had some shiney new showcase app/library to (ugh) synergize with (see Pharo piggy backing with Seaside).
- gnosis 14y ago"Scheme was/is seen as a teaching tool/research platform while CL was/is the language to actually make something in." Scheme is great for both, and it's very unfortunate that the impression most people have of it is that it's an educational/reasearch tool only.
- klibertp 14y agoI think it depends how you measure popularity. For example at my work Racket is the most popular Lisp: I use it and no one else ever used or is going to use any other Lisp... :) Racket is a very young language. Until a few (3?) years ago it was a (PLT) Scheme; Scheme has it's uses but they are very specific, nobody would use a Scheme as a general purpose, systems programming language. Racket evolved and is now much more than simply a Scheme-with-extensions: it's a platform for language creation as well as robust runtime and has many very good tools. It all makes sense if you look at Racket as a fresh language, that only started a few years ago - think about Python in it's infancy. It is very impressive and surprisingly mature in comparison, but it's still very young and has many parts missing - it's almost ready for production, but not quite there yet and I don't think this should be rushed. Sticking with Racket now is a kind of gamble. I think that in a six to eight years time Racket will be competing with Clojure for a place of the most popular Lisp in existence and I think that in the future it will be the "new hot thing" for a while, just as Python or Ruby or JavaScript were. Most importantly Racket is a language that I'd really like to use in ten years. But still, it's uncertain and any number of things can go wrong and Racket can remain unpopular, niche product for eternity. That's the risk of using young, aspiring languages - I once won betting on Python and now I'm going to try again with Racket. So, to summarize this rant: Racket is very young; languages need time to gain traction; if Racket evolves as fast as it does it will become insanely popular when the time comes.
- z3phyr 14y agoI would like to see alternate lisps grow up, like racket, joxa... :)
- sigzero 14y agoTechnically, Racket is a Scheme dialect not a LISP one.
- argv_empty 14y agoa Scheme dialect not a LISP one I feel a bit confused about the distinction you're making. Didn't Guy Steele refer to Scheme as a LISP dialect?