Economic incentives for framework creators,
- Vendor Lock-In
- A three letter acronym
- Plug-Ins / Modules
- Stardom, Star Gazers and Followers
- Free Support
I think the worst aspect of frameworks is that they thrive on pandering
to the competent idiot. The idiot who never realised that a Programming Language is a Platform. The idiot who will also vigorously defend his framework because only incompetent retards use the other framework.
I suppose the only serious question to ask is can all programming be
reduced to search, copy, connect with a large enough framework ?
Replace everything with libraries
Anything built after CGI / FastCGI / Servlet can be thrown down the gutter and be replaced with libraries.
Middlewares like Sinatra, Flask, express are the way to go.
Templates and Web Components
- Control: ejs
Fears of not using a framework …
Code reuse can happen at
- Data Structures
- Design Patterns
- Domain Models
You can encourage code reuse in your organisation with private code repositories.
With scaffold generators like yeoman, you can help solve boilerplate code as well.
This is the easiest to solve. Don’t use two libraries at the same time which serve the same purpose.
Enforce a style guide for the code and a selection criteria for libraries.
Claims framework authors make which are usually short sighted
Frameworks promote code reuse
Frameworks however don't promote reuse within different versions of the same framework, which makes the code reuse claim hypocritical at best.
Where is the code reuse between Angular 1 and Angular 2 ?
Libraries also promote code reuse by the use of shared object files (C) or modules (Python, Node.js …) and it is usually more long lasting.
Frameworks are easier for beginners to use. Frameworks get difficult quickly once the initial use case is run out. Frameworks appear deceptively simple because they hide complex code under the rug, but anytime you need to do functionality similar but different to that initial complex code, you will have a problem. With a library, you can inspect the code … copy it and edit it to do what you want, it is not as simple with frameworks especially when you have to deal with 100 levels of inheritance.
In a way frameworks encourage code illiteracy.
Frameworks are not composable. Using two or more frameworks is next to impossible because of all the assumptions frameworks make. Frameworks are totalitarian in this regard.
The real question to ask is, why should you or your programmers learn and
wrestle with a framework’s myopic word-view than solve real problems ?