In the late ’90s I thought COM (Microsoft’s Component Object Model) was the way of the future. The whole architecture starting with the IUnknown interface was very elegant. And to hear Don Box explain it, COM was almost inevitable. I…
In the late ’90s I thought COM (Microsoft’s Component Object Model) was the way of the future. The whole architecture starting with the IUnknown interface was very elegant. And to hear Don Box explain it, COM was almost inevitable. I…
Here are a few of my favorite programming-related links that I’ve run across lately. Functional Programming with Python NoSQL is dual to SQL Why you would want to program at fifty (or any other age) The Poetry of Function Naming…
It’s not enough for software to be correct. It has to be defensible. I’m not thinking of defending against malicious hackers. I’m thinking about defending against sincere critics. I can’t count how many times someone was absolutely convinced that software…
Erik Meijer’s paper Your Mouse is a Database has an interesting illustration of “The Big Data Cube” using three axes to classify databases. The volume axis is big vs. small, or perhaps better, open vs. closed. Relational databases can be…
From Erik Meijer: Functional Hacker := Think like a fundamentalist, code like a pragmatist. Related posts: 85% functional language purity You wanted a banana but you got a gorilla holding the banana
Walter Bright made an interesting point in his talk at GOTO Aarhus this afternoon. He says that software developers like to think of their code as pipelines. Data comes in, goes through an assembly line-like series of processing steps, and…
Last night I ran into Damian Conway at a speaker’s dinner for this week’s GOTO conference. He’s one of the people I had in mind when I said I enjoy hearing from the Perl community even though I don’t use…
One of the things that makes Russian novels hard to read, at least for Americans, is that characters have multiple names. For example, in The Brothers Karamazov, Alexei Fyodorovich Karamazov is also called Alyosha, Alyoshka, Alyoshenka, Alyoshechka, Alexeichik, Lyosha, and…
In this fake interview, Linux creator Linus Torvalds says Linux has gotten too easy to use and that’s why people use Git: Git has taken over where Linux left off separating the geeks into know-nothings and know-it-alls. I didn’t really…
What is an “object” in object-oriented programming? It’s a clump of name->value mappings, some functions that take such clumps as their first arguments, and a dispatch function that decides which function the programmer meant to call. This reality is usefully…
David Curran pointed out the following parable from G. K. Chesterton in reply to something I’d said on Google+. Though Chesterton had other things in mind, Curran pointed out that the quote applies to software maintenance. In the matter of…
People often joke that in order to understand recursion, you must first understand recursion. This is funny as far as it goes, but it illustrates a common misunderstanding. (I’m not saying the people who make the joke don’t understand what…
Learn You a Haskell for Great Good is a hard book to judge by its cover. It’s about the Haskell programming language, but what is it like? The title and the art work are playful, and that gives the impression…
From Alan Perlis: Since large programs grow from small ones, it is crucial that we develop an arsenal of standard program structures of whose correctness we have become sure — we call them idioms — and learn to combine them…
Someone sent me an email asking how I use multiple programming languages and how I keep them straight. I thought I’d write my answer here in case someone else had the same question. I’ve learned programming languages out of a…