3 ms·
Why is it just a bar trick in your mind? Do you not consider the end-user not having to install anything useful? The entire point of APE is the portability, h
by hunterb123 4y ago
Why is it just a bar trick in your mind?
Do you not consider the end-user not having to install anything useful?
The entire point of APE is the portability, hence the name.
- kaba0 4y agoThe OS-specific interpreter can be bundled with the application itself, and then no need to install anything (though ideally a package manager would do its job and resolve dependencies beforehand, making it moot. This windows-style random exe hunting and downloading should just die already. And it doesn’t have to be “installed”, nix solves this problem by nix-shell -p package “installing” the package temporarily, making it available in the shell only.)
- hunterb123 4y agoThen you either need a package manager (Windows users without Scoop or Chocolately are out, destroying portability) or you need to provide multiple binaries that the user chooses for different platforms with the interpreter bundled as you said. But the availability of other options with tradeoffs doesn't answer my question as to why this method is just a bar trick. A Go binary or similar is an option, but it doesn't make other options mute.
- ElectricalUnion 4y ago> The OS-specific interpreter can be bundled with the application itself Why does the interpreter need to be OS-specific at runtime? If you're "bundled with the application itself", and your application is OS-specific anyways, then you should of course bundle a optimized OS-specific interpreter. But, for an actually portable application, that runs on several OSes, you probably want an actually portable interpreter? > And it doesn’t have to be “installed”, nix solves this problem by nix-shell -p package “installing” the package temporarily, making it available in the shell only.) `nix-shell -p package` is a very bad example of your point. * It represents a "not bundled"/"not embedded" use case; * You "just" need to install Nix, then; * You "just" need to invoke Nix using the correct derivation, then; * Nix "just" need to temporary install the native interpreter and all other dependencies specified in the derivation, then; * Nix "just" need to temporary install your packages and all other dependencies specified in the derivation in a temporary location. all in order to not need to have it to not be installed. Even as someone that likes Nix, this doesn't make a lot of sense for the sake of argument.