Clojure Gazette 109
Dynamic typing, Static typing, Optimization
Clojure Gazette
Issue 109January 11, 2015
Editorial
Hi Conj-urers!
Enjoy the issue.
Rock on!
Eric Normand
PS Learn more about the Clojure Gazette and subscribe. Learn about advertising in the Gazette .
The Legacy of Computer Science Youtube
I've been geeking out recently on Sussman videos. This one seems to be kind of old. I resonate so much with his message: computer languages are a new way for us to communicate complex ideas. What is unique about computer languages is that an expression must be precise enough to be run by the computer. This will help us teach and clarify our thinking, making better ideas more accessible to more people.
Community Building with Pieter Hintjens Podcast
Ruby Rogues Podcast has gone through a lot of changes recently. I thought I might remove the subscription, but then Jessica Kerr joined up. She has made the podcast a joy again. This episode was especially surprising. Pieter Hintjens developed ZeroMQ and manages the open source community around it. He shares a lot about how ZeroMQ operates.
:clojureD Conference
There is a Clojure conference happening in Berlin at the end of January. Check it out! It's very affordable (€ 50) and be sure to look for LispCast postcards with a discount on all LispCast videos!
Doing Computers is Creating
An interesting new series showing Clojure livecoding. It's the beginning, so I can't give an in-depth review. But what's there already was an interesting watch. It's only about 6 minutes, so it's worth a shot. We'll see how they progress as they come out.
Life with Dynamic Typing
People still talk about static vs dynamic typing. But the discussion is mostly futile. The rift between static and dynamic started before most of us were born, in Mathematics. No amount of discussion by even above-average programmers is going to solve this one, or even contribute to the discussion.
David Nolen talks about a common pattern called Programming by Contract and how it is used in Clojure and ClojureScript. Programming by Contract is a way of asserting dynamic properties of function arguments and return values. You should also read the follow-up .
Improving the performance of set
Alex Miller is killing it on his blog. This post discusses a couple of
simple optimizations to the function set
which significantly improved
performance. He then follows up with optimizations to the function
vec
. It's more
complicated but still clear if you work through it.
Type-safe transducers in Clojure. And Scala. And Haskell.
Someone had to do it. They had to go and make the types for transducers in all three in one epic, comparative journey into the heart of three different type systems. Peter Fraenkel is the one. It's a tough slog, but if you're into types, this is fascinating.
Java to Clojure: Martin Fowler's "Refactoring" Factored Functionally
Adam Bard takes some Java code and "refactors" it into Clojure code.
Alan Kay at Computerland October '91 Youtube
Alan Kay knocks 'em dead in the first part of this talk. It's one zinger after the other. Then he gets serious about the future of computing (from a 1991 perspective).