On Sunday, 29 October 2017 at 16:14:11 UTC, 12345swordy wrote:
Hell, I even recall that gdb needs python for some strange reason, in my linux machines. I don't know WHY it requires it, but I wouldn't jump to conclusions and think it as "unnecessary-dependencies" simply because I don't understand the rational behind it.

Here is an interesting paper, that explores the dependencies between modules in some open source kernels (linux vs BSD).

The paper found the linux kernel (compared to the BSD kernels) had far too much dependency between modules, because linux uses far too many global variables, and so too many modules are tightly coupled by mean of them sharing those global variables.

They argued that such common coupling (module dependencies) have a deleterious effect on maintainability, and that such common coupling increases exponentially with each subsequent release, further reducing maintainability.

The key take away point of course, is that software development really needs to be on guard against the problems associated with modular dependencies.

It's one of the reasons functional programming is becoming increasingly important (and useful).

There is no reason why the principle should not also apply to the distribution of software.

https://dl.acm.org/citation.cfm?id=1150566.1150571


Reply via email to