Hacker News new | ask | show | jobs
by rjberry 4186 days ago
How can you access Python and Perl libraries?

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.

1 comments

Here's Chicken's interface to Python: [1]

It also has bindings for R, C/C++, Lua, Matlab, Objective C, and even Java.[2]

I could have sworn it had a Perl interface too, but maybe that was just my fevered imagination, or an older version of Chicken.

You can actually build Guile-Emacs right now: [3]

  "As of the end of GoogleSummerOfCode 2014, the Elisp engine of Emacs
  is fully replaced with that of Guile, and most things Just Work™."
Though it's true that it'll probably take some time for Guile to be fully integrated in to mainstream Emacs, and for all the wrinkles to be ironed out. But the future is here.

I do have to give credit to Clojure for exposing more people to a Lispy language, even if the language does not measure up to my ideal of what a Lisp/Scheme should be. And I do grant that there are many more Clojure jobs than Scheme jobs. So if work with a Lispy language is your goal, Clojure is probably your best bet.

However, many people work on open source and personal projects using languages that they are interested in and actually like rather than those they are forced to use at work. There's also much value to learning classic languages very different to what you're used to, which I elaborated on in another post in this thread. For all of those reasons and the ones mentioned above, I'd still much rather use a Scheme than Clojure.

[1] - http://wiki.call-cc.org/eggref/4/pyffi

[2] - http://wiki.call-cc.org/chicken-projects/egg-index-4.html#ca...

[3] - http://www.emacswiki.org/emacs/GuileEmacs