4 ms·
Clojure. I think I should stop thinking and really learn that language now. It seems very tempting as a first functional language.
by pkd 11y ago
Clojure. I think I should stop thinking and really learn that language now. It seems very tempting as a first functional language.
- cpdean 11y agoIf you want to learn foundational FP topics but don't have the time to commit to learning a whole new ecosystem, I really recommend Fogus's Functional Javascript: http://www.amazon.com/Functional-JavaScript-Introducing-Programming-Underscore-js/dp/1449360726/?tag=fogus-20 http://www.amazon.com/Functional-JavaScript-Introducing-Prog... I know that JS isn't the same thing as Clojure but the ideas in this book work with really any language. After reading this book I'm a better Python programmer.
- yogthos 11y agoIt's an excellent beginner FP language. Clojure is fairly minimal and requires learning only a few concepts to become productive. At the same time it continues to see more use in the industry, so it's one of the easier FP languages to actually get a job with as well. I wrote a starter guide that might be helpful https://yogthos.github.io/ClojureDistilled.html https://yogthos.github.io/ClojureDistilled.html There's also a free book that's very good http://www.braveclojure.com/ http://www.braveclojure.com/
- pkd 11y agoThanks for compiling such a great resource. I have had a look at it, and will go through it this weekend. I have also been doing some 4clojure in my spare time. Although Brave and True looks like a great book, its not for me. I would love a book which blazes me through things rather than hand holding me through every concept. I have been looking at Living Clojure and will probably get that.
- mpdehaan2 11y agoI would look at is as ok language for lightweight scripting of Java, but some areas like how bad the tracebacks are or how well many of the clojure-specific libraries are fleshed out (or quality of docs), leaves me with major concerns about the language.
- lmm 11y agoFunctional means different things to different people. By all means learn Clojure, but also learn a functional language with a first-class type system (e.g. Haskell).
- pkd 11y agoAh, Haskell. I find it equal parts fascinating and scary. I definitely won't start at Haskell, although I would surely want to come to it at some point of time. Static typing looks nice.
- lmm 11y agoOCaml might be a friendlier option (though you'll want HKTs eventually, and the syntax is a bit ugly), or maybe Ceylon if you're willing to go a bit less mainstream. (I'm a Scala programmer myself, but I can't really recommend it unless you're already familiar with the JVM and its oddities, there are a lot of warts that have to be there for Java compatibility). But yeah, there's the Lisp tradition and the typed tradition and they're almost entirely separate, but through accidents of history we call them both "functional". So in the same way that you'd learn an OO language and a functional language, I'd say it's worth learning one of each.
- fnordsensei 11y agoDo it. At minimum, you'll have some very useful new perspectives.