2 ms·
There is also Write Libraries, not language features. The progression language -> library -> framework maps to semantics -> a vocabulary of expression -> ideol
by eternalban 7y ago
There is also Write Libraries, not language features.
The progression language -> library -> framework maps to semantics -> a vocabulary of expression -> ideology.
I think the OP has made an error in considering a framework as a sort of 'maximalist' construct that must cater to any and all possiblities.
Let's consider a (known) rigirously and formally specified 'framework' approach and see if it needs to "predict ... every kind of thing ... [possible to accomplish] within its [constraints]":
https://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html https://www.oracle.com/technetwork/java/javase/documentation...
A framework design team is tasked with facilitating a technical goal:
RoR: "MVC for the world!".
Java Beans: "Tool makers of the world, unite!"
J2EE: "Look ma, my IT commodity programmer can do distributed component oriented programming and not even know it!".
At its most abstract consideration, RoR is an idoelogical take on writing MVC. "This is how you do it". Beans nails down an approach for wirable components that can be supported at both design and runtime with tooling and automation. JEE says lays down 4 canonical and formally boxed contexts of reference (naming), transaction, persistence, life-cycle.
None of the above had to predict ahead of time "everything". Frameworks are almost always really about top-down considerations.
[p.s. follows]:
Keep in mind that we're always building on top of the 2 fundamental layers of langauge semantics and libraries. The proverbial "standard library" is the reminder. So that just leaves the final layer, and the critical consideration of "more libraries" or "manifesto on how to use libraries".
The actual core issue is composition limitations. It is far easier to compose libraries (vocab-a + vocab-b + ..) than it is to compose framework (which may not even be possible).
A framework is a 'final consideration' of the best approach for a (set of) niche technical concern(s).