The sentiment is more negative than positive – folks pointing out that the article was obvious, picking apart one or more points, or stating I don’t know what I’m doing. There are valid points. There are incorrect points too.
When I speak to people, the sentiment is mostly positive. They thank me for explaining something they’ve long forgotten, and asking them to think before they use a library function.
I enjoy writing simple, accessible posts: my first book sold over 100,000 copies because I wrote plainly in an accessible way. That’s always how I’ve taught too: by explaining through analogy or in simple terms concepts that are complex. I’m just not the guy to explain concepts using math or who’ll offer the shortest, densest, most information-rich explanations.
I agree that my hash table post paints a simplified picture for the average reader. Yes, that makes it problematic at the edges. For example, you’d want to be careful of a hash table’s worst-case complexity in a mission critical or cryptography application. Yes, there are hash functions that distribute string keys better — this one is reasonable, and I said it was fast. There are other valid points too.
Here’s where I was coming from: Are most developers using a library hash function without thinking about it? I think so. Will reading my article help them think and make better choices? I hope so. That’s the intended audience. No apologies from me — I’ll stir up more trouble soon with a post on how trees work.
See you next week.