4 ms·
I also came from Python (and c#/java, c, js) and have dabbled with Haskell and Clojure a bit, with a tiny bit in scheme. I personally think that learning both
by brehaut 17y ago
I also came from Python (and c#/java, c, js) and have dabbled with Haskell and Clojure a bit, with a tiny bit in scheme.
I personally think that learning both Haskell and Clojure concurrently has a lot of merit. Clojure is more pragmattic; while it encourages pure functional practices, it also accepts that doing IO and interacting with the ecosystem (including java) is necessary, so its straight forward. Haskell on the other hand is - IMO - a must learn for any programmer; It is chock full of brilliance, but its not so easy for someone unfamiliar with a type system as comprehensive to get going with. Many of the leasons you learn in Haskell will be applicable to clojure (and vice versa).
Additionally, to me clojure feels like what i wanted python3000 to be. Its got a nice little ecosystem of web tools growing too. I found haskells web stuff to be a bit imposing.
Summary: Learn clojure primarily, and augment it by working through haskell stuff like Real World Haskell.
- aitoehigie 17y agoi heard that for you to get the most out of clojure, you have to know java, is that true?
- brehaut 17y agoNo, you just need to be willing to learn some java APIs (honestly though, not that hard. mostly they are larger, more long-winded versions of things you are used to in python). In particular for web stuff you could probably exist within the clojure eco system. The clojure-contribs package is getting pretty comprehensive these days. Clojure's interop stuff makes calling java seem fairly native. Obviously you get stateful behavior and need to be careful, but thats no worse than python or c. Currently clojure's tools for creating classes is a little frustrating but thats being replaced with some very nice facilities in 1.1. I'd say the number one thing you'll need to do is get familiar with the javadoc. For the reference, i programmed java at uni (2001-2004) with Java 1.4. I havent written a java program since then, but i havent found it any hinderance at all in my experiments with clojure.