3 ms·
The argument has pretty much nothing to do with dynamic languages. Single file dependencies are getting more and more popular because integrating with build sy
by gridlockd 7y ago
The argument has pretty much nothing to do with dynamic languages.
Single file dependencies are getting more and more popular because integrating with build systems is a major pain, particularly in static languages like C and C++, but also in the mess that is modern Javascript.
Some languages do manage to do this better than others, but the type system has nothing to do with it.
Lastly, having one single statically-linked binary isn't the norm even for static languages.
- jrockway 7y agoI'm just saying that's why I stopped using them, not that it's a differentiating factor between static and dynamic languages. I wrote books about Perl, I taught classes on Perl. Having to install stuff from CPAN was probably the most common complaint. I wrote a new CPAN client at some point, and it didn't help. Enough was enough; the approach failed and I moved on to writing my code some other way (as did all of those students, probably). npm seems to have gotten something that mostly works; I use that and tolerate it because I have no other choice for client-side stuff, but I don't really do enough browser programming to call myself a Javascript user. Yes, static languages have dependency hell. I've ./configure'd a million times and have wanted to die about 80% of the time. I've used buildroot and have wanted to die 100% of the time. I never seriously programmed in C or C++ to say that I've stopped using them, so while they're broken... you can't stop using something that you haven't started using. (I still cringe when I see that some C-based project I want to use doesn't have binaries. It's especially annoying because I mostly use Windows now. I want "dc" in Powershell because that is my preferred calculator app... but can't compile it, and apparently neither can anyone else. Wow.) Python is a pretty great programming language... but it's just not worth the tradeoffs. It is nice that bottle is one file; that is going to increase its adoption. It is not a solution to any general problem, though; the next library you depend on is going to require virtualenv and 100 dependencies, and they will fail to install.
- gridlockd 7y agoI guess we're on the same page then and I wouldn't have written the reply had you been more specific. Having said that, I do find the situation with Python/PIP/PyPI today is far better than a few years ago, especially concerning binary packages and the Python2/Python3 divide. I'm not experiencing a substantial quality difference between pip and npm, at the same time I prefer venv over node_modules (while detesting both).