Choosing the right tool

I've spent quite a bit of time recently looking at what is the best tool to do different jobs. I spent last Friday looking at how best to host and run this blog and I've also put some time thinking about whether I should change my use of GitHub and Visual Studio Online for my coding outside of work.

The notion of "what is the best tool" has become a very interesting one. Initially I was interested in only software that is written in a language that I have coded in or that I have some understanding of how it runs/builds. I came to realise that this is a very backwards way to choose a tool. I mean does it really matter that my blog isn't coded in C#? The important thing is that I can write a blog post and you can read it.

I wanted to call this Black Box Thinking but it appears that someone has already nicked that phrase... I think the idea of treating tools as black boxes is useful though. This exposes the importance of the requirements and hides unimportant aspects such as implementations and underlying technology.