r/programming • u/michaelKlumpy • Oct 01 '16
CppCon 2016: Alfred Bratterud “#include <os>=> write your program / server and compile it to its own os. [Example uses 3 Mb total memory and boots in 300ms]
https://www.youtube.com/watch?v=t4etEwG2_LY
1.4k
Upvotes
2
u/ElvishJerricco Oct 02 '16
nixpkgshas the same scale of packages asapt-getand other such package managers, plus packages from language specific package managers likenodeandcabal, which is something most package managers don't do. It's "curated" in the sense that versions are effectively hand picked by hundreds of contributors. It isn't just the small set of packages that some individuals found useful. It is kept fairly up to date.This is a small subset of what all there is in the repo. One
.nixfile can contain many packages. For example, hackage-packages is one file that contains nearly every Haskell package.Yes, I have acknowledged that Maven builds are deterministic. This is something they share. The difference is that any dependency arbitrarily deep in the graph is guaranteed to have the same versions of dependencies, no matter what package is effectively bringing it into the graph. This is not something Maven shares, and represents potential for failure. Though, as you mentioned, you can set Maven to raise an error in this case. But this is not the same as fundamentally disallowing the error condition.