10 ms·
Racket v8.5
- jp0d 4y agoI'm fascinated by Racket-lang team's constant updates. It feels like there is always some activity in that space. Does anyone know about any companies where it's used in production environments? Is it particularly good for certain use cases? Thank you.
- exdsq 4y agoI looked a while ago and apart from some scripting at Naughty Dog it sounded like it's strictly used in academia and hobby projects. It is however probably my favourite language at the moment and if you're willing to learn something for fun, I recommend it. I've learned a few things that are language-agnostic, like some streaming stuff, so I guess it's not a total waste purely from a work perspective either.
- jp0d 4y agoYes, of course. Glad you're enjoying programming in it. I'd love to learn it for fun if I didn't have any time constraints. Dabbling in a bit of StandardML and F# at the moment. Just to get a basic understanding of functional programming. I'm a data analyst, not a developer. So as you can guess, I write Python and SQL mostly. These languages are quite different from what I'm used to.
- bmitc 4y agoI keep responding to you just by your comments triggering some things I am interested in, lol, but if you're interested in data science and F#, check out .NET Interactive notebooks in Visual Studio Code and the Plotly.NET package.
- jp0d 4y agohahaha.. Thank you for comment. Yes, I actually signed up for a course on Udemy and did some F# after a few lessons on SML from Dan Grossman on Coursera. My company has bet big on .net and our products have been developed on .Net. So that's another reason to learn F# for me. I find it quite interesting and am surprised that it doesn't have as much adoption as Python or R!
- exdsq 4y agoOne thing I loved when looking at F# was Type-Driven Development that I imagine could be quite applicable to data modelling (as in, piping stuff around and sanitising). This has possibly had the biggest impact on how I think about programming out of anything I've done! https://fsharpforfunandprofit.com/series/designing-with-types/ https://fsharpforfunandprofit.com/series/designing-with-type... You might also find this interesting: https://fsharpforfunandprofit.com/posts/recipe-part2/ https://fsharpforfunandprofit.com/posts/recipe-part2/ Another thing - if you find you write small scripts in Python to read a file or parse some stuff or plot a couple things but these aren't for production, Racket has an amazing library of basically everything you could need. It's actually very practical as a scripting language.
- jp0d 4y agoThanks mate. :)
- samth 4y agoIt's not widely used in industry, but certainly some people do use. Bogdanp, commenting further down, has a business using racket, other people do web development consulting with it, people have built internal tools with it, etc.
- neilv 4y agoThe activity is mostly the core professors doing research, a lot of teachers and students, and a number of enthusiasts. It's been used by only a handful of companies that I know of (not counting Naughty Dog). Usually as one-person projects for which the person is allowed to choose fringe tools. A couple of those turned into major projects, but they still needed only a couple/few (super-capable) people. Maybe the most interesting thing about the user base is the enthusiasts: as a resume keyword, Racket is effectively unemployable, and there's large opportunity cost in the current "tech" job market, of spending time on "technology" that doesn't facilitate job-hopping. So the enthusiasm seems to be for the genuine technical and community merits.
- danuker 4y ago> So the enthusiasm seems to be for the genuine technical and community merits. Or just fun. People also play and create free games on the Internet.
- skrishnamurthi 4y agoSee the presentations at the annual RacketCon's. That gives you a sense of some of the industrial uses.
- jesushax 4y agoRacket, what an odd part of my life. After learning QBASIC and then quickly pivoting to Python thanks to the advice of my peers on 711chan IRC, I read ESR's "How to become a hacker" which lauded Lisp as this magical language that will forever change the way you think. Wow, powerful stuff for a teenager to hear. I want to have elevated, magical thinking. So I downloaded DrRacket. Years later, after a few years that were the beginning of a career in software, I was in jail. I took some math classes where they gave us programmable calculators. I was fucking enthralled to be able to code again. I used TI-BASIC to make a little lisp interpreter, which I called Prison Lisp. So many games, all the glee of a child in gradeschool (which is comparable to incarceration in many other ways). The people in my pod (shared living dormitory type thing) all asked to play the games, it was like having a gameboy. Out again, mid twenties, start to code again. Somehow, a few years with no computers hadn't affected my ability to code in the least. I was actually much better than before. I start competing for gigs on Upwork, supporting myself pretty comfortably. I get married, start a family. My wife loves coding challenges, but has no professional ambitions in tech. So I show her Racket, she loves it. My daughter is curious and wants a different lisp, so I show her Clojure. She hates it, sticks with Python. No judgement, I'm a lifelong Pythonista at this point. I think back, to a friend from that 711chan IRC chat. He was learning Perl and I had recommended he try out something else, taught him a bit of Racket. I Googled him a year or so ago, turns out he ended up making several contributions to the Racket source code, and is a big shot electrical engineer. Good for him. Life is so beautiful and strange.
- deleted 4y ago[deleted]
- halfmatthalfcat 4y agoWhat a wild ride of a post - thanks for sharing!
- bitwize 4y agoThat's the second-coolest prison story I've ever heard. (The coolest involved the narrator meeting a guy in the joint, who took Dragon Ball Z very, very seriously, and taught martial arts classes for his fellow inmates based on the Saiyan moves from the show, which turned out to actually be pretty serviceable self-defense techniques.)
- MichaelBurge 4y agoError Message Realms are documented in this pull request, but not in the actual documentation yet: https://github.com/racket/racket/pull/4104 https://github.com/racket/racket/pull/4104 "Racket CS runs on platforms where native-code generation is not currently supported" It looks like this means "Racket-on-Chez-Scheme"(i.e. "Racket >= 8.0") will run, but it won't use Chez Scheme it'll default to the old system: https://github.com/racket/racket/issues/3802 https://github.com/racket/racket/issues/3802
- samth 4y agoThe documentation on docs.racket-lang.org isn't updated to the new release yet, which is why realms are missing. The hold up is that it needs to build all 2k packages with 8.5 first.
- velcrovan 4y agoThis trips me up almost every release. New feature announced, go look up what it does and how to use it, not there yet. By the time it is updated I've usually forgotten about it.
- Bogdanp 4y ago> It looks like this means "Racket-on-Chez-Scheme"(i.e. "Racket >= 8.0") will run, but it won't use Chez Scheme it'll default to the old system: https://github.com/racket/racket/issues/3802 https://github.com/racket/racket/issues/3802 No, that item means Racket CS runs on platforms where native code generation isn't available via a portable bytecode backend.
- jp0d 4y agoIs SICP the best way to learn Racket? https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
- rlp 4y agoBeautiful Racket is quite nice: https://beautifulracket.com/ https://beautifulracket.com/
- perihelions 4y agoSICP uses Scheme. Racket is a rather different, much larger language. Racket's default #lang isn't even compatible with SICP -- for example its cons cells aren't mutable. (Though it's perfectly fine to use Racket tooling with SICP or other Scheme books -- just set #lang scheme instead of #lang racket).
- Fellshard 4y agoDr. Racket does have an SICP #lang available; I'm not sure whether I got it through the package manager, or elsewhere.
- Jtsummers 4y agohttps://docs.racket-lang.org/sicp-manual/Installation.html https://docs.racket-lang.org/sicp-manual/Installation.html - Installation instructions.
- perihelions 4y agoLooks like a third-party package? https://docs.racket-lang.org/sicp-manual/index.html https://docs.racket-lang.org/sicp-manual/index.html
- jp0d 4y agoThank you. I did not know that. I thought Racket was a superset of Scheme with a lot of batteries included.
- User23 4y agoIs Racket a practical competitor for Common Lisp yet?
- Bogdanp 4y agoWhat made it not a practical competitor to CL before for you? Racket has a nice runtime (much nicer than what you get with CL, though with some downsides (eg. memory usage is higher in Racket)), a large standard library, a comparable number of packages (~1800 on pkgs.racket-lang.org versus ~2100 on quicklisp), good editor support and a pretty great distribution story (via `raco exe`, `raco distribute` and the relatively-new `raco cross` for cross-compilation). All things that make it very practical in my book.
- sph 4y agoLast I checked it was pretty slow, performance and use in production was not its main focus. I'd like that, I absolutely adore this language.
- Bogdanp 4y ago> Last I checked it was pretty slow I agree it is slower than the fastest CL implementations, depending on what you test, because some of the features present in the language make optimizations harder. The compiler is definitely also slow. As far as dynamic languages go, however, Racket is very fast in general and you can push it very far. > use in production was not its main focus. What makes you say this/what do you think it's missing as far as "use in production" goes? Instrumentation? Something else? I've deployed both production web apps and desktop apps with Racket, and the experience has been as good or better than other languages I've deployed similar things in.
- Decabytes 4y agoRacket is definitely slower than Common Lisp. But it is one of the fastest Schemes on the market currently^1. But it also has the ability to create static executables, runs on M1 macs, has a statically typed sister language, a build in package manager, and gui library. And it's faster than other dynamically typed languages like Python when looking at pure implementations (not written in C). So there are still a lot of reasons to use it over Common Lisp if any of those things appeal to you 1.https://ecraven.github.io/r7rs-benchmarks/ https://ecraven.github.io/r7rs-benchmarks/
- nonrandomstring 4y agoI love Racket. As Lisps go it seems one of the more accessible for beginners and so I dabble with the idea of using it in teaching just to spice things up from Python all the time. The one MAJOR downside, for me personally, is that a lot of the online presence cowers behind Cloudflare, the dreaded nemesis of privacy oriented text-based browser users. Why hide such a beautiful programming language behind so much ugly digital razor-wire and barking dogs?
- skrishnamurthi 4y agoSorry, I have no idea what you mean. DrRacket is a binary you download and run on your desktop. What parts of Racket are "cower[ing] behind Cloudflare"?
- jbclements 4y agoI think the poster is referring to racket-lang.org, which is served through cloudflare. But wait! I have a solution. If you want the web site content locally, the whole thing is built from the public repo at `https://github.com/racket/racket-lang-org https://github.com/racket/racket-lang-org`. The readme contains instructions for building it locally. The CSS on the local blog posts probably won't render correctly, but if you're reading the text, that probably won't bother you.
- nonrandomstring 4y agoExactly this. I actually just pulled the whole source tree and built it for FreeBSD this morning. What I'm really referring to is the community. Especially for things like forums and docs that need only be read-only. The fixation with Cloudflare bewilders me. Surely most technically minded people know it's a mixed blessing that offers as many ills as advantages? With respects, I don't really want a conversation about the merits and madness of Cloudflare. Been there and done that. I'm simply pointing out, in case any Racket community people are here, that small details like this can have a serious impact on the uptake and enjoyment of something valuable.