One of the classic problem sets for programmers is selecting the right tool for the job. Typically that means choosing the right programming language which is closest to the problem set. Joel Sapolsky’s blog is running a story discussion about why I hate frameworks. I think he got it wrong!There are two very strong reasons for using frameworks. The first reason is that frameworks tend to handle the impedance between the problem and the programming language. Second when you own the framework it solves more problems than it creates.