Love-Hate Relationship with Frameworks
logiccolony.com
logiccolony.com
Whether or not you agree with the philosophy of many of the existing frameworks, the people who are writing them develop, think, and live at a higher level of abstract thinking than most developers. If you look at the total pool of developer talent available, only a small portion ever write a successful framework? Why is that? Because writing a framework that is, at the same time, flexible, fast, and powerful is incredibly difficult.
I can't tell you how many times I've sat across from the table and listened to someone tell me how their problem doesn't fit pattern X. In most cases it's true there is a more direct way to accomplish a task, but patterns aren't designed to provide direct solutions, they're designed to structure your code in a way that makes it modular and easy to maintain.
When you deviate from the path, you better have a good reason, because you're often trading a lot of things that aren't immediately apparent: abstraction, consistency, maintainability, and portability.