3 ms·
On the other hand, a lot of use cases are an absolute perfect fit. Desktop software and mainstream OSes are basically opinionated frameworks, and almost nobody
by eternityforest 5y ago
On the other hand, a lot of use cases are an absolute perfect fit.
Desktop software and mainstream OSes are basically opinionated frameworks, and almost nobody aside from hobbyists gets majorly impeded by limitations, they're just so big that they cover most of the use cases just fine.
Like, hardly anyone seems to complain about LibreOffice unless they're trying to use Calc as a database or something. And when they do complain, it's usually something with a workaround that seems easier than using Tex and CSV and a perfect flexible toolkit might be.
If you think in terms of the framework's constructs as your base primitives, you can do a lot in opinionated systems(Just not everything) by adapting your plans to fit the framework.
If you think in terms of underlying abstract logical ideas, the way a programmer building his own in vanilla JS, you'll probably be disappointed by frameworks that only give you a few high level blocks.
But how to implement something cleanly with only high level black box primitives is a skill nobody seems to focus on, everyone seems to think on a pretty low level when designing, and then choose a framework that lets them fit their ideas, and apply ugly hacks rather than do what the framework says.
Libraries are servants, frameworks are like managers.