3 ms·
Guile and Nix are horrible languages with shitty syntax, the difference is that one is general purpose (Guile) and the other is a mix of yaml and json, while
by _fsql 2y ago
Guile and Nix are horrible languages with shitty syntax, the difference is that one is general purpose (Guile) and the other is a mix of yaml and json, while Guile (Lisp) abuses parentheses and you end up lost in spaghetti code, in Nix you end up not knowing what it's doing even if you're an "expert". They are bad solutions and not very reproducible, because in NixOS you have to change every so often the shitty variables they use to set garbage and in Guix you have to fight if you need non-free software with the NonGuix channel and other kind of nonsense.
- anthk 2y agoLosing parentheses is not an issue for any Lisp programmer. I remind you this is HN, guess on what was built on. >non-free software Non-free software should be the issue, not Guix itself. Not free software by default is NOT reproducible. Period. Useless for science.
- agubelu 2y agoThe reproducibility crisis in science has nothing to do with the supporting software itself not being reproducible.
- anthk 2y agoBoth are needed. Look what happened with Excel in genomics. Once you can control every point of the pipeline, you are set. That means a discrete set of versions, dependencies and being able to rebuild and fix every point of software if bugs show up.
- poincaredisk 2y ago>Non-free software should be the issue, not Guix itself Not the parent, but this approach from Guix maintainers is the reason why it's not an OS I would consider. I use free software almost exclusively, but I appreciate that nixos doesn't try to play the moral police and will let me easily run any non-free software I want. I don't like it, but sometimes using a non free tool is the easiest way to get the job done, and life is too short to get stuck on software idealism (at least for me).
- opan 2y agoYou are free to use non-free software on Guix System, it's just not in the main channel or officially recommended. You'd likely figure it out fast enough if you wanted.
- viraptor 2y ago> Not free software by default is NOT reproducible. Changing a licence on some software doesn't change the compilation. The licence is completely orthogonal to whether software is reproducible or not.
- anthk 2y agoHow do I recompile binary blobs?
- viraptor 2y agoNon-free does not mean compiled. Here's a non-free script which I grant you the right to view but not execute or copy: echo foobar Reproducible, compiled and free are all orthogonal.
- kazinator 2y agoYou don't. So the blob that is packaged and installed is identical to the one in the repository. Hence, it has no reproducibility issue.
- exe34 2y ago> you end up not knowing what it's doing even if you're an "expert" Oh you've tried Haskell then?
- _fsql 2y agoWell, with Haskell you know what it is oriented towards and you know what to expect, but Nix wants to control everything in the system by adding unnecessary complexity to the simple and making the complex even more complex.
- IshKebab 2y agoI agree. I really think Nix would be a lot more approachable if it didn't have such a weird language. The fact that it is dynamically typed and declarative also means it is completely undiscoverable.
- creata 2y agoThose things (parentheses and free software) don't make Guix a bad solution. It's just not for you.
- _fsql 2y agoIf Guix were an optimal solution, many companies would be using it, but that's not happening. It's just a niche experiment. And parentheses don't seem so bad when the code is one line, when tens or hundreds of lines won't be so fun.
- anthk 2y agoHPC under Inria. Giving how young Guix is, lots of companies rely on it. >Tens or hundreds You never wrote a single line or Scheme or Common Lisp and it shows. No one writes thousands of nested lines down. They modularize it into functions because Lisp was basically made literally for that. Get some Emacs modules and code, such as Mastodon.el. Look at the source code. Far easier to understand than any C or C++ codebase, not to mention Rust.
- prmoustache 2y agoIsn't most non-free stuff installed in /opt or in the user homedir these days anyway?