“Design Patterns” Aren't (2002)
I remember reading this when it was new.<p>foreach only works on a list. I can bless a list of lists into a rose tree, but i can&#x27;t traverse that in a uniform way. There&#x27;s just no hook to say, when the thing isn&#x27;t a list, get the next element like this. Now days i&#x27;d point at haskell&#x27;s traversable as the gold standard.<p>On large java projects it seems like composite&#x2F;facade for days. Those splits seemed to let teams work together and not end up with piles of rubble.<p>A lot of my understanding of programmer fashion back then was pretty fuzzy. It was easy to ask any team if they were doing extreme programming and they&#x27;d all respond, well, kinda. Ask any team if they were using a pattern language, and they&#x27;d mumble about UML. Sort of the equivalent of well, kinda.<p>When you have to write a large project like a compiler or a web browser or something, it&#x27;s handy to have around. All to often I stare at the empty text window in my ide and question my life choices. I wonder why i didn&#x27;t learn to weld and why i&#x27;m a failure at everything i try. The existential dread fills my soul and i want to just crawl under my desk and cry. In that case, i&#x27;ll flip through the GoF. Then i tell that endless abyss &quot;I&#x27;m going to use the Command Pattern!&quot; The abyss slinks back into the corner quietly murmuring until i feed it a couple beers at the end of the day.<p>On the other hand, i did quite a bit of perl programming around 2000, so i&#x27;m probably weird.