3 ms·
What is Racket primarily used for? I'm not sure where it fits in the language landscape in terms of strengths/weaknesses.
by sachanganesh 6y ago
What is Racket primarily used for? I'm not sure where it fits in the language landscape in terms of strengths/weaknesses.
- desine 6y agoIt's a Lisp, in the Scheme subset. It's original design was primarily around Programming Language Theory education - formerly it was PLT Scheme. Much of it was designed for educational uses, but it's a really well-rounded system with plenty of packages, a decent package management system, better performance than most interpreted languages. It comes with an IDE easier to pick up for newbies than Emacs (the usual Lisp/Scheme environment), but also runs fine as a command line REPL and compiler. It's kind of an oddball. While the development focus is mostly educational, specifically Programming Language theory, it's also very usable in the real world. There's a few tutorials on writing your own domain specific language in it. You can specify a language other than the default Racket, so one compiler/interpreter environment actually supports many Lisps and DSLs. I'm a long time dev who recently picked up SICP to learn why everyone says learning Lisp/Scheme will make you a better programmer, and Racket is by far the most interesting environment I've worked in. I haven't even touched Python, which was my money-maker, in months.
- stretchcat 6y agoTo me, it's the language I use when I want to have fun.
- srcreigh 6y agoSame. I learn so much when I try to do something with it. You know what they say about emacs. "Emacs a great operating system, it's just lacking a decent text editor." Same with Racket. Racket is a great language development framework, the only thing missing is a decent language to write your program in. It does take a lot more effort and expertise to design a language and a program. That's why it's fun for me, I get to dream more and need to learn more. I'm inspired by the super interesting Racket papers [1] and PG's book "On Lisp". It helps that I got to use Racket to make a couple basic compilers in some uwaterloo classes too.. but I didn't even use macros for those projects, so I haven't really gotten started with Racket yet ;) [1]: https://www2.ccs.neu.edu/racket/pubs/scheme2007-ctf.pdf https://www2.ccs.neu.edu/racket/pubs/scheme2007-ctf.pdf
- dTal 6y agoI think of it as the Python of Scheme (yes yes I know). Batteries included, well documented, big focus on ease-of-use. It also has a Big Idea; it aims to be the practical realization of the grand idea that Lisps are the perfect platform to build programming languages on, and to take this so radically far that you can have entirely different programming languages that nevertheless share, not just a runtime, but all their libraries. Unfortunately, so far, nobody except Racket enthusiasts appear to have much interest in building languages on top of Racket - but it's absolutely possible and practical, and someone really did accomplish the astonishing feat of implementing Python (Python 2, alas) in Racket, in such a way that you could combine libraries from both languages.