by Zorro » October 31st, 2013, 4:36 pm
Well ORM is a hot topic for debate, and my opinion is far from unbiased as I'm mostly limited to my ORM experience in a PHP environment (Doctrine, Propel, and RedBean). The biggest problem I find when using an ORM solution on really large projects is handling records with really complex one-to-many, many-to-one, and many-to-many relationships. All an ORM really does is write [inefficient] SQL queries on behalf of the developer. When retrieving data, it compiles the results into usable objects or arrays. When inserting data, it compiles the objects/arrays into SQL queries. In other words, it's just layers and layers of automation. It sounds cool at first, but I've found it only leads to frustration down the road, since the developer never really knows for sure what's going on further down the stack.
When I built version 1 of my PHP framework (VinePHP), the biggest problem I had to force myself to overcome was to not overly automate things; because the more automated a code library becomes, the less portable it becomes. Like version 1, the second version of VinePHP (currently in the planning phase) is going to expound on the philosophy of less-is-more.
Research shows that one in three Clinton supporters are just as stupid as the other two.