Live data from Hacker News

How Nix and NixOS get so close to perfect

christine.website

131–140 of 183 posts

Re: How Nix and NixOS get so close to perfect

#131

Earlier quoted context omitted.

Why do you think it's Haskells syntax that is the problem? The syntax is not so weird. I'd say the semantics are the hangup. 100% purity and lazy evaluation are a much harder pill to swallow then the syntax.

> Why do you think it's Haskells syntax that is the problem? The syntax is not so weird. I'd say the semantics are the hangup. 100% purity and lazy evaluation are a much harder pill to swallow then the syntax. Could very well be - either way the language has been rejected. Boasting of Haskell characteristics[1] is, IMO, a great way to turn off prospective users. [1] I don't really know if the Nix project actually doe…

I don't really see that industry has rejected Haskell at all. Haskell target simply wasn't (or isn't) industry. You can't really be rejected if you aren't trying to get into that niche. And Haskell has seen significant industrial use. So they succeeded at something they didn't even want to succeed at.

Re: How Nix and NixOS get so close to perfect

#132
I think Spack[1] might address some of the problems surrounding Nix. It uses python to configure packages, and the upcoming release will have Windows support too. The "Getting Started" information is pretty helpful, but package-level documentation still needs some work.

[1]: https://spack.readthedocs.io/en/latest/

Re: How Nix and NixOS get so close to perfect

#133
I'm on NixOS since maybe five years and still being unable to digest Nix language and Nix* evolution, not that impede to profit from a functional OS design, it's my daily driver, but...

I hope for Guix System but so far it's community seems not really more focused than Nix* ones, they are deeply INRIA/HPC centric not much valuing desktops and desktops needs for what I've see and lack of stuff like full LVM support built-in, zfs support does not help much, so so far I judge it not much mature enough for my desire. Guix docs are far better than NixOS ones, however there are no "books alike docs" from zero to sufficiently acculturated in Guix/Nix witch is a big issue IMO.

However they are undoubtedly the future, there is no other sustainable model for the modern world but them. Modern container-mania can't scale down to system level and it's not much better than full-stack virtualization on x86 few years ago, a current fashion with no valuable technical reasons to be, modern packages manager around them (like snap, appimage, flatpack) are just crap needed to push commercial crap in FLOSS world, sorry for being rude, but that's is. Just look at their repo (including things like naming them store) how outdated they are in bundled deps, how many holes punched around they "security by isolation" model to make them usable and still they can't scale. Classic package managers came from another era, are in use, but not much sustainable anymore so...

Re: How Nix and NixOS get so close to perfect

#134
post #42

Earlier quoted context omitted.

Maybe a better design. Bet? Not so sure. Guix is Betamax to Nix's VHS.

What a bad analogy. Betamax was superior to vhs.

Why is it bad? that is my point. Guix has several design features that improve over Nix, but a much smaller user base.

Re: How Nix and NixOS get so close to perfect

#135
post #18

Earlier quoted context omitted.

> I don’t really think this is a problem at all? I mean, at the particular design point the language occupies there are basically three possibilities: How so? Where's the Java/Python-like languages in this consideration, why wouldn't those work? Or something more like Ansible? I'm pretty sure that you can express the same concepts for the most part in something imperative as well.

Yes and no. Yes, because Turing completeness. But no, because if you tried to do something like the Nix package manager with a language like Python or Java or even Scheme (yeah, I'm looking at you Guix), you'd end up with a worse system. What's great about Nix the language is that its design matches beautifully with its purpose. Nixpkgs is a single giant program, the output of which is a set of 70,000 package definit…

> even Scheme (yeah, I'm looking at you Guix), you'd end up with a worse system.

This is the first time I would have heard that point of view, could you elaborate?

Re: How Nix and NixOS get so close to perfect

#136

Earlier quoted context omitted.

> What?? Galois, Facebook, IBM, Twitter, AT&T, Bank of America, Barclays Capital, NVIDIA, Microsoft and GitHub use Haskell. So? The usage of Haskell within the entire industry is so small it's not even a rounding error. It's hard to make the argument that the industry has accepted it when the industry usage is too tiny to even measure properly.

Please define "the industry" and explain what credentials you have to know what "they" want.

> Please define "the industry"

Programmers, and the work they do.

> and explain what credentials you have to know what "they" want.

It sounds ridiculous that you need "credentials" before you'd believe that Javascript, Python, Java or C# programmers, programs, projects and work doesn't each outnumber Haskell roughly 100 to 1.

Just about any metric you choose to use to evaluate what the industry uses, Haskell has so little usage that it's literally difficult to measure.

Job postings, TIOBE, RedMonk, SO survey, google-fight, you name it - Haskell is nowhere near rounding error percentages.

Maybe you should ask yourself why it doesn't show up in significant numbers on any metric rather than asking people what credentials they have.

Re: How Nix and NixOS get so close to perfect

#137

Earlier quoted context omitted.

> >if you want uptake, you need to support what user's want > Before the iPhone no one knew they wanted a good camera and "apps" on their phone. > See the important point here -> "knew they wanted" Haskell has been around now for something like 25 years. You'd have a point if the iPhone was unpopular for 25 years before users finally decided to like it. It wasn't. Users saw the iPhone and wanted it the minute they sa…

Say it with me: right tool for the right job. Not every language should try to solve every problem. And not every problem is nicely solvable in every language. By your definitions any language other than what, C and js is "unpopular" and "Rejected by the industry" ?

> Say it with me: right tool for the right job. Not every language should try to solve every problem. And not every problem is nicely solvable in every language. By your definitions any language other than what, C and js is "unpopular" and "Rejected by the industry" ?

I literally claimed otherwise, elsethread

> It's a reflection of what the programmers want. Apparently they wanted syntax with braces and semicolons.

Javascript, C, C++, C#, Python and Java have seen and are still seeing heavy use in the industry. Go has gotten traction too, now.

Any language that can be seen on a common metric to be more than low single-digits (and, in some cases, fractions) of a percentage can be safely said to be "used in industry". I cannot think of any survey amongst programmers which shows Haskell usage outside of 1%-3%.

Re: How Nix and NixOS get so close to perfect

#138
post #3

As someone who really would like to have something like nix the thing that scares me away every time is the fact that the people creating this aparently did not think a lot about how to onboard users. And I don't mean a lack of documentation — what I mean is that the obvious decisions that have been taken (naming everything "Nix", using Haskell as a base for the syntax, ...) don't really fill me with confidence that…

I'm with you on onboarding in terms of docs and naming. The problem got worse before it started to get better with the pivot to a much improved shell experience, but we'll hopefully start to see improvement.

The Nix language, however, is about what it needs to be. I don't like it, mind you, but I think it strikes the right balance between config format and programming language. There are things I'd tweak, but it's pretty much what it needs to be. Any similarity to Haskell is mostly coincidental. Because of that, it's also not especially hard to learn. If you'd like to give Nix a shot, I think you'll find that it doesn't need to be your hobby to be useful quickly.

Re: How Nix and NixOS get so close to perfect

#139

Earlier quoted context omitted.

> Because industry makes good decisions? That's irrelevant - if you want uptake, you need to support what user's want. It's been clear for at least a decade now that programmers don't want Haskell syntax. Whether it's a good syntax or not is irrelevant.

> That's irrelevant - if you want uptake Haskell's slogan is "avoid success at all costs". Haskell isn't aiming for mass adoption. It wants to be a language for researching functional programming, it just so happens it's a useful language, and people write real software with it too. From https://haskell.foundation/whitepaper/ > Haskell's slogan of "avoid success at all costs" was a clever and cheeky way of saying tha…

> Haskell's slogan is "avoid success at all costs". Haskell isn't aiming for mass adoption. It wants to be a language for researching functional programming, it just so happens it's a useful language, and people write real software with it too.

This isn't well-known - read through this thread - their are many people in this thread who deny that Haskell usage in industry is insignificantly small.

Re: How Nix and NixOS get so close to perfect

#140
post #116

Earlier quoted context omitted.

> >if you want uptake, you need to support what user's want > Before the iPhone no one knew they wanted a good camera and "apps" on their phone. > See the important point here -> "knew they wanted" Haskell has been around now for something like 25 years. You'd have a point if the iPhone was unpopular for 25 years before users finally decided to like it. It wasn't. Users saw the iPhone and wanted it the minute they sa…

>Programmers have been looking at Haskell for 25 years and rejecting it. I really don't know why you think that true: https://wiki.haskell.org/Haskell_in_industry And i really don't know why you speak for "programmers", just speak for yourself...maybe?

>> Programmers have been looking at Haskell for 25 years and rejecting it.

> I really don't know why you think that true:

Because it doesn't show up any any metric as having significant usage. A list of 100 companies using it doesn't make the hundreds of millions of other companies not using it go away.

Post reply on HN