But I also urge you to not follow [software principles] blindly. Put everything you learned in context and always question the validity of your ideas and actions. This is the only sane way towards becoming a better professional.
This quote nicely sums up why writing software can sometimes be quite a chore. I find that we frequently try to shoehorn our unique problem into a solution defined by - and only by - one of these principles. Do this for the wrong type of situation and, at worst it leads to code that is poorly written and riddled with defects. Even at best, the code is probably hard to understand.
Software patterns, designs, and principles are all great starting points but don’t let them limit your solutions to the problems you are trying to solve. The solution needs to be the right one; not the one that lives completely within the confines of a ‘rule’ you read in some book. Sometimes those two things are the same. Often, they are not. Don’t let that concern you.
Be sure to read the original article for more discussion.
And now for your cool link of the day: the source code for the Apollo 11 Guidance Computer.
Yes, we’re trying something new here. I’ve been wanting to do this for a very long time and so I finally did it. Gone are the days of a tumblr blog masquerading as a stand-along blog. This is the real deal. This is a completely static website made all on my own. The engine powering the blog is Jekyll. I’ve spent quite a while trying to get everything up and running. This is still a work-in-progress so there will probably be some bumps along the way. I hope to invest some more time into making the place look a little better. But for now enjoy the show.