4 ms·
Racket is my first functional language and its been fun, but is it more of an educational language or is it used in production?
by Oculus 13y ago
Racket is my first functional language and its been fun, but is it more of an educational language or is it used in production?
- samth 13y agoIt's used in production in a variety of places: Naughty Dog studios, NBCUniversal, Air Force research labs, defense contractors, web developers.
- dobbsbob 13y agoYandex's PaaS "cocaine" also supports Racket
- rits 13y agoInteresting. But looks like a software[1] and not a service[2]. Do Yandex plans to launch a public service on Cocaine? [1] - https://github.com/cocaine/ https://github.com/cocaine/ [2] - http://api.yandex.ru/cocaine/ http://api.yandex.ru/cocaine/
- m0nastic 13y agoWe're using it in production at my job. (In a decent-sized polyglot system also made up of Haskell and Clojure). There aren't as many libraries available compared to more popular languages, but I haven't yet had too much trouble getting things accomplished. For the above-mentioned languages we're using, I'd put the useful library situation at: Racket-> Haskell-> Clojure in order of least to greatest. Depending on what you need it to interoperate with, it's totally usable in production environments as it stands.
- iso8859-1 13y agoare you counting Java libs? then that ordering comes as no surprise.
- m0nastic 13y agoI wasn't (although that admittedly is one of the best benefits of Clojure). Also, that's not a listing of the total number of libraries; it's ranked based on the number of useful ones (where "useful" is a completely subjective term that relates to how often I've looked to see if a library exists that does what I want). Racket actually has more overall libraries than you'd expect considering its popularity, but I've found that many of them are old, no longer updated, scheme libraries (from the days before Racket rebranded from Dr. Scheme). That certainly doesn't make them useless, but I'm reticent to mix scheme-style code into my project. I'm least familiar with Clojure (I've only been deploying it for the past two weeks or so), so I'm sure my opinion will change, but right now it feels like a slightly less good Racket with a philosophy I find agreeable and more practical libraries (plus Java interop).
- samth 13y ago> Racket actually has more overall libraries than you'd expect considering its popularity, but I've found that many of them are old, no longer updated, scheme libraries (from the days before Racket rebranded from Dr. Scheme). That certainly doesn't make them useless, but I'm reticent to mix scheme-style code into my project. Which libraries are you referring to? Libraries distributed with Racket, or libraries on Planet (or somewhere else on the internet)? And any sense of which libraries in particular you notice being missing?
- m0nastic 13y agoSorry, I should have been more specific; but I was referring to the libraries available on Planet. It looks like the new Planet that you guys just shipped doesn't have all the legacy mzscheme packages that used to seem to be the majority of packages. I don't know if that was intentional, but if not, I think that it's a nice tangential benefit. I just remember every time I'd search for something on Planet, most of the results I'd get back were for old scheme libraries. I know it's annoying as a developer to hear a vague criticism like "there's less useful libraries" without being able to provide a list of concrete items; but I'm going to annoy you by not being able to come up with anything specific right now. Sorry ;) I will say though, I think Marketplace looks really neat, and I'm looking forward to testing it out for some things internally.
- technomancy 13y agoPersonally I don't use it for anything server-side, but that doesn't mean it's just for education. I suppose it's an unavoidable misconception given that its most obvious strength is the quality documentation and IDE. Its built-in image support is much better than anything I've seen in any other language, so I've used it a couple times for writing simulations that need a histogram. It's also much better than Clojure for things that require low memory usage or fast startup time.
- 616c 13y agoTheir continuation-based web server is neat, if you can handle not complaining about the same thing in the Arc/HN combination everyone does when it is brought up. http://docs.racket-lang.org/web-server/ http://docs.racket-lang.org/web-server/ I also recently discovered a web sockets library, but am not good enough at coding Racket to use either yet. I am definitely planning on it. (And seeing you're handle, just want to thank you for your contributions to Clojure; I can only image what would happen if you got more involved in the Racket community).
- gus_massa 13y agoI use Racket in a small (few hundred users) internal site in the university.
- whyme 13y agoHN is built using arc which is really just an abstraction layer built with racket (previously mzscheme).
- 616c 13y agoYes, and I am not sure if this was addressing my comment. I believe the Arc implementation here (despite being a language built with Racket) is run with its own implementation of continuations. I mentioned people complaining because, well, people complain when you get timeouts with your continuation. That is why when you click More at the bottom of the page, you see a URL that looks like this: https://news.ycombinator.com/x?fnid=N5yDJXCzVXXV8kqTp57A7D https://news.ycombinator.com/x?fnid=N5yDJXCzVXXV8kqTp57A7D I believe this is calling into the continuation space. I could be wrong, however. I am just starting my Scheme journey. Nonetheless, sometimes continuations do not work well on HN and I see people mention that. It is different way to handle state (Racket calls their Racket server stateless for this reason). I just wanted to point that, even if people will pass judgement from their experience here, it is a cool concept nonetheless. Also, more experienced people should correct my analysis of HN if I am wrong.