Earlier quoted context omitted.
I'm a nix fan and have been using nixos for years now, packaging stuff and writing my own nix-based libraries, but I still find the language to be painful. The problem is, documentation is sparse to non-existant, error messages are poor and often far from the actual problem, and it makes use of concept that lots of people are not familiar with (like lazy evaluation) without ever explaining them, resulting in surprisi…
nix has been around for 18 years . If the documentation is still sparse after all these years, it's not a problem that will be fixed, ever. Same for explaining concepts. Proper errors are a huge and poorly understood problem, so I'm inclined not to judge those too harshly.
Of course, this doesn't excuse the state of the documentation that should be better. It is just that nobody ever documented this kinda of things before, so it is difficult to do it better.
Nix and NixOS just started to get more known and become popular from the last ~5 years or so, and I think this made the whole community aware that documentation is an issue and it is getting better and better (but maybe not at the pace most people wanted).