One of the things that can make the life of programmers harder is the use of a bad framework. The worst thing about frameworks is that they start as an easy way to do your job quickly.
However, after a few months of using that piece of software, we encounter more and more situations where it is making your life difficult, instead of being helpful.
Think, for example, on all the times you had to write a SQL query by hand just to avoid a performance problem on your preferred framework. These are things that add up and make development less pleasurable for experienced programmers.
The Good Side
I would be misleading, however, if I didn’t mention situations where having a framework is of great help. In a number of times, having a framework ready to use is just the thing you pray for. Here are three of these situations:
You are working in a domain you don’t know well: when that is the case your best bet is to rely on something that is already in use. Most industries these days have some kind of framework that handles the most common business logic. If you don’t want to become a specialist on this domain, just use the framework and be happy.
A second situation arises when you need to use an unfamiliar programming environment, such as a new language. Most development shops these days use Java for commercial programming, but from time to time you will need to create applications in something different. When that happens, it is nice to have a framework ready for use.
Still another case happens when you know what you’re doing, but you don’t have the time to do it: if you need to have an application ready for tomorrow, for example, there is no way to continue, other than using a framework — And you know, it is nice they exist for when a small application needs to be finished quickly!
So, for me there is no doubt. When you can’t escape such situations, it is better to smile and use your friendly framework.