694 karma · joined July 21, 2013
Disclaimer: the owner of https://cachix.org
* ease of development
* time to learn the language
* documentation: tutorials, etc
* ease of hiring
Architecture is a tiny cost you have to pay for using something else.
Then again, for a consultancy using Haskell, PureScript is the right choice.
Getting started: https://medium.com/scientific-breakthrough-of-the-afternoon/...
How much effort was put into making the whole isolation: https://www.youtube.com/watch?v=73mnPBLL_20
There is even a declarative way to setup darwin process management: https://github.com/LnL7/nix-darwin
Python code is really hard to maintain once you grow over a few thousand lines of code and a few developers.
I used to believe that a good culture and seasoned developers can delivered testable code, but it rarely happens in practice. Even if, deadlines kill testing budget.
Types make refactorings sane, they are you contracts. Ended up in Haskell.
* binary caches as a service: https://cachix.org
* Nix continuous integration as a service: https://hercules-ci.com
Please don't say things if you don't know about them.
Just to prove my point, we've recently merged a branch for hardened compiler flags. This is mainly for server security.
At one point, sooner or later, you have to tell them they just need to learn the language.
I'd rather spend time explaining the language than teaching them workarounds.
Having said this, we already do have ways to dodge the language for example using imperative package management. But that's exactly how another such blog post could be written how it doesn't always work due to "freedom" that Nix tries to provide.
Lesson learned here is: pick your fights carefully.
This won't ever change, but people might.
I'm not blaming them, I feel their pain.
This is common in technology all around, think about driving a car for 25 years with manual transmission and then trying automatic transmission.
It's great to see such articles as they dive deep into psychology when it comes to new technology. It's really hard to unlearn.
It takes effort to realize that the promised gain is bigger than the pain coming from doing what we're used to doesn't work.
It's very important for us to get such feedback. This allows us to improve and move forward.
In Nix defense I think it's not worth comparing stability yet, although that is the most important aspect for users.
What matters currently is how many smart people grasp the idea why we're fundamentally better by architecturing the language and packaging problem itself and any help we get to move us forward.
For fair comparison you should note that we have ~800 contributors, probably more than 90% are on Linux. Meanwhile Homebrew packages have almost 6000 contributors.
We have recently added 4 macs to our build farm at http://hydra.nixos.org/machines, but we desperately need more developers that care. Not 6000, just a few more.