8 ms·
Perhaps this isn't the best place: I eventually want to move on beyond ruby and java and try out a functional language. Clojure, Scala and Haskell all seem int
by douglasisshiny 14y ago
Perhaps this isn't the best place:
I eventually want to move on beyond ruby and java and try out a functional language. Clojure, Scala and Haskell all seem interesting. Haskell because it's pure functional. Scala and Clojure because they're functional and on the JVM, and out of the two, Clojure.
So it's between clojure and haskell in my mind. Haskell has a great tutorial book/website (http://learnyouahaskell.com/ http://learnyouahaskell.com/). Is there a great resource like this for clojure? (obviously there are many books, but what's the best, and ideally, does it have a free online version that I can try out before buying)
- columbo 14y agoThis is good if you are into roguelikes: http://stevelosh.com/blog/2012/07/caves-of-clojure-01/ http://stevelosh.com/blog/2012/07/caves-of-clojure-01/ All parts: http://stevelosh.com/blog/ http://stevelosh.com/blog/
- douglasisshiny 14y agoThank you!
- dktbs 14y agoThis looks great, thanks!
- dimovich 14y agoThanks. Just completed peepcode's Clojure screencast based on https://github.com/technomancy/mire https://github.com/technomancy/mire This should be a nice follow-up.
- tel 14y agoFeel free to reach out to me for more information about Haskell (or Clojure). I think they're both fantastic languages to learn and I have a lot of experience in each.
- douglasisshiny 14y agoWill do. Thank you.
- dktbs 14y agoI have been going through the O'Reilly book for clojure: http://www.clojurebook.com/ http://www.clojurebook.com/ I like it so far because it relates many new functional programming concepts back to ideas from other languages. In the early portions of the book it frequently shows ruby, java, and python code alongside a line of clojure. A more interactive way to try out the language would be to try www.4clojure.com or the clojure koans. Both take different approaches to giving you puzzles to solve with clojure.
- douglasisshiny 14y agoThanks!
- martinced 14y ago"Clojure because they're functional and on the JVM" In addition to that I'd add: - Clojure because it's a Lisp dialect (and if you've never learned any Lisp, then it's good to add that to your skillset too) - Clojure because it also targets other runtime, like say browsers JavaScript engine. ClojureScript looks really interesting and I'm sure we'll some very interesting things in ClojureScript very soon - Clojure because it has STM Now honestly between Clojure and Haskell I'd say that you should really learn both. I'm getting quite OK with Clojure. Now I definitely need to find the time to learn Haskell...
- lucian1900 14y agoHaskell also has STM.
- douglasisshiny 14y agoI haven't learned a Lisp. And ClojureScript does look interesting. Thank you.
- djhworld 14y agoThe trouble with Clojure in my opinion is the slow JVM warmup, especially when writing small command line tools in Clojure, it's a real pain in the ass to run lein run myscript.clj and then sit there waiting for 2 - 3 seconds to see your result. Might sound insignificant but it's noticeable when you're constantly switching between source and result. Obviously the way to get around this is to load everything into a REPL and enjoy the advantages of explorative programming. This is where Haskell has an advantage, the runghc command is very fast, and compiling your script/program into a static binary means it's quick to execute as well. Clojure (and Scala) need to sort out the JVM warmup to make them viable general purpose languages. The bizarre thing is, running Java on the JVM startsup almost instantly.
- douglasisshiny 14y agoYeah, I've been reading about clojure's performance a bit today -- the slow JVM startup is mentioned a bunch. I've been reading that it's not always trivial to get clojure to perform on par with java itself. From a web application background, are performance gains seen because of clojure's concurrency?