Program design

General perspective

Python's perspective

Ruby's perspective

Perl's perspective

PHP's perspective

Everyone needs a framework. What everyone does not need a general purpose framework. Nobody has a general problem. Everyone has a very specific problem to solve. And a general purpose framework while it can solve it, it usually solves in a way that you get so many things that you don't need that ends up being done on every request. Usually what happens, when a company grows and starts with a general purpose framework, they start optimizing things by ripping stuff out and tear the framework apart to the point they could never upgrade. If there is a newer version of the framework, they modified the damned framework so much they are stuck on the version they are on and I think this is a huge problem.

LibreOffice's perspective