> For starters, you compared Nix the ecosystem to Starlark
No I compared the Nix language to Starlark.
> but it seems like you don't know which part of Nix you are even referring to.
Incorrect. I was referring to the Nix language, as was hamandcheese. He literally said it explicitly. I don't know how you could miss that.
> I fully admit that Nix has a steep learning curve. Very steep. But I don't think you know enough to give a thoughtful critique.
You're proving my point here. The very steep learning curve and "you need to be an expert before you can use it" aspects of Nix (both the language and the package manager) are exactly the problem.
Let me put it another way. Imagine I gave you a vacuum cleaner, and you tried to turn it on but it had a very complicated startup sequence so you needed to read the manual... but the manual was written in Egyptian hieroglyphics. You take it back to the shop and they say "nah this is a perfectly good vacuum cleaner. Sure it has a steep learning curve but you just need to spend some time learning it before you can criticise it".
That's obviously stupid right? For most people package management is like vacuum cleaning. It's a necessary task they want to think about as little as possible.
Nix is written by a vacuum cleaner collection & restoration club, who assume that everyone in the world is as obsessively into vacuum cleaners as them.
> Incorrect. I was referring to the Nix language, as was hamandcheese.
I am hamandcheese. I replied to your comment. You didn't describe a single aspect of Nix-the-language. You wrote this:
> What does setting `foo: true` do? You can't go-to-definition on it. You can only hope it is well documented (it isn't) or try to find the place that reads that key ... somewhere... in all of Nix... Good luck.
It's appears (despite the wrong syntax, another clue that you are not particularly well informed) that you are referring to a NixOS module option. Or maybe a Home Manager module option. Either way, not a language feature.
The language feature I am talking about is that it is completely declarative. You can argue semantics if you want but Nix chose to use a completely declarative language for configuration and that was IMO a bad decision.
No I compared the Nix language to Starlark.
> but it seems like you don't know which part of Nix you are even referring to.
Incorrect. I was referring to the Nix language, as was hamandcheese. He literally said it explicitly. I don't know how you could miss that.
> I fully admit that Nix has a steep learning curve. Very steep. But I don't think you know enough to give a thoughtful critique.
You're proving my point here. The very steep learning curve and "you need to be an expert before you can use it" aspects of Nix (both the language and the package manager) are exactly the problem.
Let me put it another way. Imagine I gave you a vacuum cleaner, and you tried to turn it on but it had a very complicated startup sequence so you needed to read the manual... but the manual was written in Egyptian hieroglyphics. You take it back to the shop and they say "nah this is a perfectly good vacuum cleaner. Sure it has a steep learning curve but you just need to spend some time learning it before you can criticise it".
That's obviously stupid right? For most people package management is like vacuum cleaning. It's a necessary task they want to think about as little as possible.
Nix is written by a vacuum cleaner collection & restoration club, who assume that everyone in the world is as obsessively into vacuum cleaners as them.