|
|
|
|
|
by pmoriarty
4194 days ago
|
|
I view lack of dependency on the JVM as an advantage of Schemes over Clojure. The last thing I want to do when developing in Scheme is learn or have to deal with Java or the JVM. Chicken compiles down to C, so gets C's speed, size, and portability advantages. Chicken can also access C, Python, and Perl libraries, which aren't exactly lacking compred to those of Java. Not to mention that Chicken comes with a respectable set of libraries on its own, and that R7RS compatibility will bring a much larger "batteries included" core. Guile is looking like its going to become the core of Emacs, and is an extension language for various other tools (like GIMP), so there are wins for learning it if you are interested in any of these ecosystems. |
|
However you feel about the JVM, it has led to adoption of Clojure, meaning if you're in a big city you have a chance of finding a job doing it. Not many jobs exist where you can use Scheme as your primary language.
But the main reason I wouldn't go back to Scheme is that it doesn't have a rich array of immutable data structures built in. Too quickly the implementations I've seen capitulate to mutation, which makes code harder to reason about, harder to parallelise, and just less fun to write IMO.
I'm looking forward to Emacs implementing Guile, as Elisp is yucky. But realistically that's not going to happen very soon.