11 ms·
Racket looks interesting. I am having trouble choosing between Racket and GNU Guile.
by astrophysics 5y ago
Racket looks interesting. I am having trouble choosing between Racket and GNU Guile.
- bigdict 5y agoTry Chicken as well.
- deleted 5y ago[deleted]
- melling 5y agoRacket probably has much better performance. https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/racket-java.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
- bjoli 5y agoNot much better. About 2x for many things, but generally higher memory usage. Guile has a better multi-threading story with guile-fibers. I went from racket to guile because I find guile more fun. For production things I would probably use racket (or even better Chez isbthat was an option), but guile is what I use to keep my soul.
- rookderby 5y agoRacket is awesome. If its your first lisp, then I reccomend working through a book. I had a great time with https://nostarch.com/realmofracket.htm https://nostarch.com/realmofracket.htm
- neilv 5y agoIf you want a Scheme that's embedded in another program as an extension language, or to make software that's distributed normally as part of a Linux or BSD distro... probably Guile. For most other practical purposes... probably Racket. There are a few other options I still keep in mind, including Gambit and Chicken. (Actually, lately, the "Lisp" I'm using is Python. Python is usually tolerable, and the huge ecosystem and easy employability are nice in some ways. But Lisp technical sophistication and community signal:noise ratio tend to increase with the percentage of parentheses. Not because parentheses are magical, though they are-- but because the parentheses Lisps are built on better original foundations, and then disproportionately attract people on technical merits rather than marketability.)
- vindarel 5y agoWhat's magical is the very much interactive, image-based development, type warnings at compile time (function per function with a keystroke), speed, building binaries, stability… Python doesn't have that :/ (https://github.com/bendudson/py4cl/ https://github.com/bendudson/py4cl/ to use python libs from CL!)
- boppo1 5y agoI'm a trash python programmer. I duct tape tutorials and stack exchange answers together. I started working through SICP (stuck on pascal's triangle atm; don't help tho) to address this. Do you think that's a reasonable way to become a more confident and employable programmer?
- lkrubner 5y agoLearning Lisp gave me perspective on the other computer programming languages that I worked with. Having done a few major projects with Clojure gave me some practical sense of what the advantages might be, especially when combined with Java's broad ecosystem. Above all, it gave me distance from the cult of Object Oriented Programming. It's important to have some perspective about the dominant paradigms of programming. It was only when I had that perspective that I ended up writing what became my most popular essay, "Object Oriented Programming Is An Expensive Disaster Which Must End": http://www.smashcompany.com/technology/object-oriented-programming-is-an-expensive-disaster-which-must-end http://www.smashcompany.com/technology/object-oriented-progr...
- mumblemumble 5y agoThat's an interesting position to share in the context of a discussion about Racket, since Racket embraces object-oriented programming. It's not purely OO, of course, but quite a few core libraries rely on its OOP features.
- neilv 5y agoThat might be for historical reasons. (IIRC, mostly, OO was the GUI libraries, and what's layered directly on top of those.) OO is no longer as en vogue, in either Racket or the broader field. In Racket, you'll see a lot of code using `struct`, and without traditional gratuitous use of object classes for everything. https://docs.racket-lang.org/guide/define-struct.html https://docs.racket-lang.org/guide/define-struct.html > New datatypes are normally created with the struct form, which is the topic of this chapter. The class-based object system, which we defer to Classes and Objects, offers an alternate mechanism for creating new datatypes, but even classes and objects are implemented in terms of structure types.
- all_of_them 5y agoIf you need Windows support then Racket is the best option.
- Decabytes 5y agoI’d say if you are developing on Windows to go with Racket. I’ve been unsuccessful in getting Guile running on Win10, and I don’t feel like compiling from source with minGW. Not saying it’s impossible but when you look at their download page there is no instructions for windows
- pjmlp 5y agoIf you want a Scheme with a development experience close to the Lisp Machines, pick Racket.
- alexshendi 5y agoDevelopment experience close to Lisp Machines??? Racket: From the people who brought you the quote: "the toplevel is hopeless".
- bjoli 5y agoThe racket top-level is pretty half-assed compared to something like SBCL. Compared to most schemes it is about 1/4 assed. There is good reason for it in the racket context, but if you want a lisp machine you should pick something else.