4 ms·
How many people are developing commercial software without a framework? Software needs architecture, tooling, best practices and the rest. Taking the library ap
by jgwil2 6y ago
How many people are developing commercial software without a framework? Software needs architecture, tooling, best practices and the rest. Taking the library approach just results in ad hoc frameworks emerging over time.
- ddevault 6y agoVirtually all C programmers, for one. Most Go programmers, too.
- ies7 6y agoIf I have a bunch of libraries that I always use (or at least 80% of them) to start a new project, isn't that a framework?
- alexbanks 6y agoBy definition, no. In practice, maybe.
- wffurr 6y agoA framework is not a collection of libraries. You are still writing the top level code that glues all the libraries together. A framework is that top level code, and it provides extension points or a pluggable system for the parts the framework author anticipated you needing to customize. Works great within the boundaries, but gets very difficult once you want to step outside the framework author's preconceived notions about what one would want to do with their framework. With the library approach, you have to invent some of your own conventions for routing and such at the top level, but you have a full understanding of it and can more easily extend it to handle new use cases. Most projects outgrow a framework, at which point they tend to invent their own but it's a huge amount of technical debt to handle.
- Ericson2314 6y agoAt work we make and use https://github.com/obsidiansystems/obelisk https://github.com/obsidiansystems/obelisk . While they're are certain framework-y things going on (we recommend our build system, our `ob` swift army knife command, etc.) nothing is obligatory and all the functionality is in separately libraries, and put effort to "bud off" ideas into separate repos etc. I bring this is up as I think it's a good example of firstly absolutely not compromising on the end developer experience to compete with the monolithic framework, but secondly trying to beat them without stooping to their dirty tricks wherever possible.
- hliyan 6y agoI would think that the ability to assemble set of libraries into an application with a coherent architecture is a skill that is a part of a software engineer's basic training. It certainly was when I graduated. Has this changed significantly?