Undesirable patterns

I hate software design patterns. Not because I am ignorant of them – to be clear, I am not – but because they discourage creative programming.

Programming is an art and, as such, is inspired instead of being systematic. Whenever a developer applies a design pattern as a first resort, he misses the opportunity of finding a better way to achieve his goal and may even be doing something with negative repercussions.

The use of the Singleton Pattern demonstrates this. At the surface, the pattern seems appropriate for solving the problem of how to restrict a class to only one instance; however, because a singleton behaves like a global, it is inevitable that it will be used as such, which causes issues such as instance coupling that inhibits unit-testing or lack of thread-safety.

That is not to say that all patterns are bad, but presented as “solutions for known problems”, they discourage problem-solving and cause issues that outweigh the benefits they are supposed to bring.

Draft. Revise. Edit. Publish.

So, while waiting for my blog to come back to life and allow me to publish the last few posts, I carry on reading Jeff Goins and am reminded that writing is a process that starts with a draft.

Blogging. Again.

I like The Ten Commandments of Blogging, mostly because it has a few bits in it that push for a style of writing that I want to adopt in yet another blogging incursion: one that lies between tweets and articles.

And, yes, sod all the “build a niche audience” crap. Blogging is about self-expression, not about writing for an audience or driving traffic.

I also realise I only just “got” Dave Winer.