Clojure Gazette 109
Dynamic typing, Static typing, Optimization
Issue 109January 11, 2015
Enjoy the issue.
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.
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.
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!
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.
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 .
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.
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.
Adam Bard takes some Java code and "refactors" it into Clojure code.
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).