Lisp web frameworks, I’m looking at you:
“‘So this week, we’re introducing a general-purpose tool-building factory factory factory, so that all of your different tool factory factories can be produced by a single, unified factory. The factory factory factory will produce only the tool factory factories that you actually need, and each of those factory factories will produce a single factory based on your custom tool specifications. The final set of tools that emerge from this process will be the ideal tools for your particular project. You’ll have exactly the hammer you need, and exactly the right tape measure for your task, all at the press of a button (though you may also have to deploy a few configuration files to make it all work according to your expectations).’
‘So you don’t have any hammers? None at all?’
‘No. If you really want a high-quality, industrially engineered spice rack, you desperately need something more advanced than a simple hammer from a rinky-dink hardware store.’
‘And this is the way everyone is doing it now? Everyone is using a general-purpose tool-building factory factory factory now, whenever they need a hammer?’
This is the big reason that Ruby on Rails has been so successful. When the overhead of using a framework is greater than simply solving the problem you intend to solve by writing an application, there is no point whatsoever in using the framework.
Oh, and if you enjoyed this, you’ll love the Object-Oriented Toaster.