Layered Distribution

10 thoughts
last posted Sept. 8, 2012, 7:16 a.m.

5 earlier thoughts

0

Where it gets interesting is when we start looking at the cross-platform languages like Python, Perl, Ruby and Java.

Java goes to the extreme of "bundle all your dependencies". This is wonderful for portability, but makes rebasing a nightmare.

Python/Perl/Ruby et al (and I believe credit really goes to Perl here for blazing the trail with CPAN) all instead adopt the model of a central repo focused on that particular language. This is great when you only need to deal with a single language, but sucks once you have to start dealing with multiple languages. This is why we now see people resorting to bundling their Javascript dependencies - the language specific tools have no mechanism for dealing with a parallel dependency hierarchy between Javascript libraries.

4 later thoughts