
Code Quarterly's Interview with Rich Hickey - fogus
http://www.codequarterly.com/2011/rich-hickey/
======
DavidMcLaughlin
I loved this:

> When we drop down to the algorithm level, I think OO can seriously thwart
> reuse. In particular, the use of objects to represent simple informational
> data is almost criminal in its generation of per-piece-of-information micro-
> languages, i.e. the class methods, versus far more powerful, declarative,
> and generic methods like relational algebra. Inventing a class with its own
> interface to hold a piece of information is like inventing a new language to
> write every short story. This is anti-reuse, and, I think, results in an
> explosion of code in typical OO applications.

~~~
hvs
I think he has a good point, and as someone who really likes functional
languages, I agree with him, but I think there really needs to be a better
explanation of functional "patterns" and how to structure large functional
programs before it will catch on more.

Also, it's easy to say, "object-oriented programming is bad for reuse," but
that's not all OO is for (i.e. encapsulation, etc.).

~~~
kenjackson
I'd have to go back through the literature, but reuse was not something I
heard talked about much at all when I first seriously started doing OO in the
90s.

With that said, reuse with OO today is not in a horrible state, no pun
intended. Things can certainly be easier, but I think design is the bigger
issue. And the problems I see suffer in functional designs as well as OO
designs.

~~~
jamesbritt
_I'd have to go back through the literature, but reuse was not something I
heard talked about much at all when I first seriously started doing OO in the
90s._

Maybe it was an '80s thing, but I recall "reusable software components" being
touted as the industry savior. OO was _all_ about reuse then.

~~~
o1iver
See Fred Brooks's "No Silver Bullet". If I remember correctly that was one of
his hopes for OO...

------
pcestrada
I liked this quote: > A bad design with a complete test suite is still a bad
design.

------
jasonjackson
`Rich Hickey dubbed his tendency to spend more time thinking about problems
than typing code as “Hammock-Driven Development”. ` in the foot notes ;-)

~~~
scottjad
He actually gave an entire talk on the subject at Clojure Conj

<http://blip.tv/clojure/hammock-driven-development-4475586>

------
loboman
How much to spend reading and how much time to spend in programming exercises
/ programming for yourself? Now I have a daily job and it's hard for me to
find the right equilibrium between learning new techniques and stuff and just
creating something new with what I already know.

(I read relentlessly, too; English is not my native language though so sorry
for the grammar)

~~~
kotrin
It's not about reading, it's about doing.

~~~
fogus
I'm not here to convince you otherwise if you dislike reading, but for many
it's not as black and white as you present. In fact most of the greatest
hackers I've ever met were also among the most voracious readers (Rich Hickey
included).

------
mey
Why doesn't Code Quarterly have an RSS?

~~~
gigamonkey
Haven't gotten around to it yet. Definitely on the list.

------
elmasfeo
I was expecting to see some reference to fortress, scala and abcl in order to
discriminate what's important about Clojure. An important question: Of those
books listed, are there any you think every programmer should read?, yes,
Fogus, your book should be read by all programmers.

------
nasmorn
Does anyone here use clojure in production? Is it useful in a webapp context?
With a SQL DB?

~~~
swannodette
A list of some people using Clojure in production here,
[http://clojure02.managed.contegix.com/display/community/Cloj...](http://clojure02.managed.contegix.com/display/community/Clojure+Success+Stories)

