When constructing software, if you need function A, you will import a module A. AA*. A* can solve A, but A`A* can solve problems more than A, and A* could be large. That is how thoseAll the large modules are constructedresult in the large-sized software.
Maybe not the same case, but something like this: If you just need to print "hello world" on console using Java, you need JRE(>60MB) installed.
If the example of Java is not good, try this one: If the software need to logging to file, it may use a logging module which can actually make logs to database, over network and some other features, but the functions are never used in the project.