In popular programming speak, what is the difference between these terms and what are the overlaps?
Any related terms I\'m missing out?
I believe frameworks and libraries are modules. Since modules are codes imported or exported from your code. As they say, Frameworks calls your code, your code calls libraries. Either way, a module is involved
My ASCII art interpretation of what I understood from other answers:
+-----------------------------------------------+
| ........................... .............. |
| : f1() f2() : f3() : : f4() f5() : |
| : : : : : |
| : l1_module1 : l1_module2 : : l2_module3 : |
| : : : : : |
| --library1----------------- --library2---- |
| |
| application.c |
| |
| #include l1_module2 |
| #include l2_module3 |
| |
| int main() { |
| # case 'reload' |
| f5(); |
| # case 'start' |
| f1(); |
| # case 'stop' |
| f4(); |
| } |
| |
+-----------------------------------------------+
.................................................
: FRAMEWORK_X :
: :
: application start :
: ... :
: application reload :
: application stop :
: ... :
:...............................................:
What happens:
Developer installs library1 and library2 so that they can use functions provided inside modules of these.
They then include l1_module1 and l2_module3. (They do not need l1_module2 for now).
Now they can use the functionality of f1, f2, f4 and f5, So they write their application.
Now, since they want to use the application inside some FRAMEWORK_X, they must implement the interface that this framework needs: so that the framework can call the application.
Some notes:
main()
)!
Or you could say that the bootloader is framework for your OS and the
BIOS is framework for your bootloader etc.You can see a module, a library and a framework this way:
Your fingers / Module:
You can move them, touch things, you have 5 in a hand so you can use them to hold things in an easier way, those are not the biggest parts of the body but are one of the most useful parts, without them you couldnt hack!... modules are part of a program, you can use them, expand code to other files (not a large file with a lot of code in it), they make the reading easier.
Your hands / Library:
Hands are a set of 5 fingers each one, you can hold things, move things, interact with them, etc... libraries are part of a program too! and they can be seen like a set of modules, you can use them to interact with other programs or make relevant things with your program.
Your body / Framework:
Your body is a complete system, you can do with your body whatever you want (even fly, just walk into a plane and there you go, a plane is another system), you are unique... a framework is your body, a complete system, it doesnt work for itself (you need to code herpderp) but you can make a complete program with some hacking runs...
just my interpretation... if im wrong please fix ME.