Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah, why not just ship binaries? Needing to install a compiler separately seems like far too high a barrier already.


Because then you'd need to ship binaries for every conceivable platform that your gem could be used on and you'd need to make some pretty fundamental changes to the whole Ruby gem distribution system (this probably applies to other languages and their libraries too).


Because then you'd need to ship binaries for every conceivable platform that your gem could be used on

You don't. You ship binaries for the top 2-3 platforms and provide source for the rest. That's how open source projects have been doing things for ages.

and you'd need to make some pretty fundamental changes to the whole Ruby gem distribution system

Meh, it isn't insurmountable.


You ship binaries for the top 2-3 platforms and provide source for the rest.

I wish it were that simple, but then you also have to worry about library versions (unless you really want to bundle all your dependencies too, bloating your little library from 10KiB to tens of megabytes, or more).

Also see this reply: http://news.ycombinator.com/item?id=2311455

Meh, it isn't insurmountable.

Yeah, because forcing a huge infrastructure change is what we want to do for the sake of having poor GCC distribution on OS X.


You have to deal with dependencies already. In fact, today you have to compile the dependencies. Why isn't downloading their binaries a simpler way to do it?

Whenever I type "{brew,port} install X" I spend the next few minutes watching a compile and muttering "why? why? why?".


You have N packages and M platforms.

For a well-organized ruby gems system, they're largely orthogonal (N + M resources).

Per-platform binaries expend resources proportional to the cross product (NM resources).

You also have to set up and maintain automated build systems for every platform and they form a whole additional set of dependencies for shipping every little point release.

Avoid it whenever possible.

edit: I always did think N should come before M


> tens of megabytes

Is that supposed to be a lot?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: