| There are very significant differences between distributing programs in a static vs. dynamic language. Github's Hub tool is a good example. It was originally written in Ruby. This requires that the user: - may need to handle a certain environment in terms of Ruby interpreter (potentially install a new version) - may need to handle a certain libraries group (gemsets in RVM) - needs to install dependencies - needs to handle switching to the appropriate Ruby interpreter version and libraries group Especially point 3 is a pain. Even just installing everything as system Ruby won't work, because often, different Ruby interpreter versions are required. Once they moved to Golang: - the distributor compiles for different platforms - the user downloads the given version for their O/S That's all. |
>> the distributor compiles for different platforms
Most people aren't doing that for you. There are lots of tools out there where you do need to still manually compile it yourself and make sure you have the appropriate dependencies which will still be painful. That being said, I agree that shipping a script can be a problem, but lots of people use Brew and that seems to work ok.