4 ms·
Let's say your application depends on two libraries A and B. And let's say that these 2 libraries depend on different versions of library C. In Maven if library
by karterk 14y ago
Let's say your application depends on two libraries A and B. And let's say that these 2 libraries depend on different versions of library C. In Maven if library C is not backward compatible, you're stuck. Only one version of library C can exist in the classpath and so one of your 2 libraries might fail. However, in node, library A and B use their corresponding versions of library C. There are no conflicts.
- josephagoss 14y agoThis is amazing. I'm actually surprised NPM is one of the few that gets this right. I guess we are still in the early days of Software engineering.
- pmahoney 14y agoNo conflicts, but a tradeoff of loading two versions of library C. I assume at some point, the cost of multiple versions of everything (in terms of memory usage, for example) becomes an issue?
- mayank 14y agoThat's the tradeoff, with the crux being that adding more memory for a bit of JIT-compiled bytecode is preferable to having an app that just won't work.
- pekk 14y agoThere is something to be said for requiring developers to make things work right rather than work around their screwups, however.