Porting existig software to JS is advantageous for a few reasons.<p>NPM makes cross-platform installation simple, easy, and scriptable by default.<p>Dependency management. The package manager supports both local and global installations, as well as the ability to manage multiple versions of a dependency where necessary. Not by convention, by default. Dependency hell simply isn&#x27;t an issue in the JS ecosystem.<p>More secure. Scipt installation&#x2F;management doesn&#x27;t require root privileges. The runtime uses it&#x27;s own sandbox. No matter how safe the underlying OS is, it&#x27;s virtually impossible for a malicious script to break out and mutate memory&#x2F;data outside of it&#x27;s context. PwnToOwn competitions are frequently held to test, identify, and harden security.<p>Project hosting is trivial to setup. Package installation, upgrade, removal is supported by default.<p>Scripts aren&#x27;t tightly coupled to the OS. So you don&#x27;t have to import the entire universe to use them. For example, Cygwin or MiniGW not required.<p>Scripts don&#x27;t require compilation. If you run into problems, it&#x27;s trivial to open up the source and correct the issue yourself. Shorter iteration&#x2F;feedback loops on OSS projects means more users are capable of contributing fixes and&#x2F;or new features.<p>In short, all of the pain points that suck about native application development have been solved in the JS ecosystem.<p>Just the &#x27;import the universe&#x27; point alone is enough to deter any dane dev from porting a *nix binary to Windows. Disk space isn&#x27;t the concern, surface area for potential security issues, bugs, and the maintenance overhead of keeping an OS emulation layer updated are.<p>Javascript is a truly cross-platform solution.