Let me compare frameworks for a fee

Posted in CakePHP on 04.02.2009.

No, I am freaking serious. I will compare your framework, mom, dad, anything..for a fee.

Since the release of CakePHP 1.2 stable (i.e. 1.2.1) there was a lot of discussion on the CakePHP Google group on the following topics: Which framework is the best. Is CakePHP fifth ranking framework? Are we using the slowest framework? Worst? Least flexible?

I'm not going to point to an example thread, nor do I blame the authors. They simply didn't think for themselves when they were posting. But I will say something. I say, shut the hell up already.


Because I have the answer. Now, I want to you read the answer as carefully as you would read the time and date of your death (pretty soon, I assure you).

The best framework is the one that gets the job done.

See? It's not that complicated. Now to elaborate the answer, here are some tips.


Thou shalt not compare stuff with benchmarks, for they are worthless. In case you didn't get that, let me know and I can repeat it for you. For a benchmark to make sense, you should spend at least a year studying all the frameworks that you're trying to benchmark. Then - and only then - you can code a benchmark application optimized for each of those frameworks. All frameworks come from the same compost heap. They are not beautiful and unique snowflakes. Until you know that, you are useless.

Apples and oranges

Whatever gets the job done is the only way to compare frameworks. I guess what I'm trying to say is that you need a context for comparison. Is CakePHP better for desktop applications than .NET? I don't think so. Is ASP.NET better for web than CakePHP? I don't think so. Context. You can't just ask "is .NET better than CakePHP", the question doesn't make any sense. Are apples better than oranges? Where's the context in that??

So, is CakePHP better than CodeIgniter? For which purpose? I can't answer that question without knowing the purpose. Nor can you.

At the moment, CakePHP is getting the job done for all my projects. Some day, it may or may not fail. When and if that happens, I will simply look for the next framework that fits the purpose. There is no such thing as best framework. I may like the idea of Cake being the best, but how can I guarantee that? Who am I to say it is? Who the hell are you? What kind of a bleeding reference is a hello world benchmark??

Bugger overflow

In the end, I want to convey a message: stop it.

I don't care what your benchmark says about my shovel. What other people think about my shovel. Or how my shovel doesn't enable me to use a sledgehammer at the same time. Ladies and germs, my shovel gets the job done. And most of all, I can turn you into a pulp with nothing more than my shovel. So shove it.

Article comments — View · Add

Page 1 of 1

darthmalis :: 06.03.2009 17:39:25
Well said.
I read a lot of these benchmarks while trying to decide which frame I was going to learn. I kept shying away from CakePHP because of them. People complain a lot about the rigid rules too. I almost chose CI but after looking at all of the cool things this rigidity allows me to accomplish with such minimal coding I chose CakePHP. After using it, I feel like it was the right choice.
lecterror :: 07.03.2009 08:51:45
In the end you can't trust nobody but yourself, right? Congrats on the choice!

I like how you did your password validation on your blog, very innovative and much cleaner than my approach. I might steal it...