2014 03 03 notes joy of clojure

Jason Morrison edited this page Mar 28, 2014 · 1 revision

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.

Notes:

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

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.