5 ms·
That was a wonderful comparison. Thank you. - I had some contact with Scheme twenty years ago, while working through SICP. As I recently made a deep dive into E
by submeta 6y ago
That was a wonderful comparison. Thank you. - I had some contact with Scheme twenty years ago, while working through SICP. As I recently made a deep dive into Emacs and Emacs Lisp, I started looking into Common Lisp as well. - I absolutely love programming in Lisp. And like you, Scheme‘s clean naming convention (`set!` for destructive operations, `foo->bar` for conversions and `string?`) were something I missed in other languages in the years to come (when I started learning Python was irritated that `data.sort()` was a destructive operation). Scheme‘s spec is so short, I could keep it all in my head.
Lambda calculus, list manipulation, list operations, closures, these are concepts I learned twenty years ago learning Scheme, and I‘ve seen these concepts slowly be adopted in other popular languages decades later.
Thank you for catching my interest in Scheme again! Will look into that in more detail. Was an old love of mine anyway. :)
- iainctduncan 6y agoIf you're looking for a Scheme with a very active community these days a and production oriented packages, Chicken is a strong choice.
- submeta 6y agoMy (not well researched) understanding was that Racket is a popular Scheme variant. But thanks for pointing towards Chicken Scheme.
- iainctduncan 6y agoRacket is great, and is now able to run on Chez Scheme as the backend. But as far as using it for production code, it's a bit problematic as the folks in charge are focused on it as a research and education tool first and foremost, meaning they are not shy about changing things a lot. Chicken compiles down to C and has a really friendly community with great docs and examples for "real world cases"
- lenkite 6y agoI tried scheme, but I couldn't live without a hashmap in the language. Thankfully, clojure specifies one as well as a uniform `seq` interface for collections. The big problem is Clojure is a language without a published standard.
- iainctduncan 6y agoYou might like S7, it has a lot of the high level features of Clojure in a scheme. (hashmaps, keywords, environments, Clojure/CL style macros.) This is what I am using these days.