Uncle Bob Martin

Software

Clean Coder Blog

My previous blog seemed only to continue the confusion regarding classes in Functional Programming. Indeed, many people got quite irate. So perhaps a bit of code will help. Trigger Warning: Object Oriented Terminology. Dynamically Typed Language. Mixed Metaphors. Distracting Animations. To all the adherents of the Statically Typed Functional Programming religion: I know that you believe that Static Typing is an essential aspect of Functional Programming and that no mere dynamically typed language could ever

Read More »

Clean Coder Blog

I recently tweeted the following: Should you subdivide a functional program into classes the way you would an object oriented program? Yes. You should. Because the rules don’t change just because you’ve chosen to use immutable data structures. — Uncle Bob Martin (@unclebobmartin) January 17, 2023 This led to a bevy of interesting responses about the difference between classes and modules. In answer to those responses I tweeted this: A class is a group of

Read More »

Clean Coder Blog

For the last month I’ve been spending a lot of time working on Space War. I know, I know, I should have been working on Clean Code Episode 67: Legacy Code, and Euler 5, and Countest and Curmugeon 3. I should have been working on a blog, or a new book, or… But I couldn’t let go of Space War. It kept calling me. The first time I wrote Space War was in 1978. I

Read More »

Clean Coder Blog

I broke out my old Space War game a few days ago and decided to make a few changes to speed the game up and make it more fun to play. In so doing I discovered a very interesting bug. One of the changes I made was to populate the initial space with a few random bases scattered here and there. This would allow the player some extra resources with which to battle the Klingons

Read More »

Clean Coder Blog

When I was 15 or so, my father would drive me, and my best friend, Tim Conrad, to the Digital Equipment Corporation (DEC) sales office each Saturday. This was a 30 min drive. My father would drop us off in the morning and pick us up in the late afternoon. He spend two hours in his car each Saturday hauling us around. Thanks Dad! Tim and I would spend our day “playing” with the floor

Read More »