Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
2014 03 03 notes joy of clojure
Skim Joy of Clojure in a week: Mar 3 - Mar 7
1 "Part" per night
Monday: Part 1: Foundations
1.4. Clojure was born out of frustration provoked in large part by the complexities of con current programming, complicated by the weaknesses of object-oriented program ming in facilitating it.
It’s important to note that in the canon of object-oriented programming, there’s no clear distinction between state and identity. these two are conflated as "mutable state"
clojure instead focuses on immutability. no "mutable state", just values. since they are unchanging, you can share them in a concurrent situation.
The expression problem refers to the desire to implement an existing set of abstract methods for an existing concrete class without having to change the code that defines either.
OK, I'm with it so far. This is probably the 3rd or 4th time I've gone through introductory Clojure stuff. Each time I get a little more familiar and comfortable with the syntax. Still a little bit of "rough edge" feeling to it, in terms of familiarity.
It's a little grindy, like, "oh all this again..."
AWT stuff didn't work, complaining of a headless JRE.
I really like the idea of separating functions from data values, and using minimal representations (vectors and maps) for values. You don't really get the advantages of language-level destructuring without that, I think.
I look forward to reading the treatment on mutability (ch 11? refs/atoms/stm/futures/etc)
Tuesday: Part 2: Data Types
I read ahead through ch4 on Monday