And yet, most of the world still runs on the same five languages: C, Java, C++, C#, JavaScript.
Did you just assume that those languages exists since the dawn of computing? Or they run the world as long as they came to existence and were never "the new thing"? You are just contradicting yourself at this point to defend yourself from anything you don't want to accept.
mindlessly chanting “tools”
That's what you were doing in the first place. Instead of evaluating and trying new things, you are putting them in an imaginary cycle, ignoring any actual value that they brings.
Also Rust has been on your "stage 2" for 10 years. It's now widely used in multiple mainstream operating systems for both components and drivers, driving part of the world's internet stack, and is used to build many of those "shiny and new tools".
Currently it's a long chain from an early version of GCC to the latest one, then mrustc (in C++) which can compile rustc 1.54.0.
I assume that you do know that tools improve objectively in the cycle and are making a joke on purpose.
Did they fixed the kernel panic problem that persisted in the last two versions? I don't dare to try it, last month their proprietary driver has almost destroyed my machine.
Because it gives the wrong impression that it is not proprietary, just like how you are making this exact mistake.
You can use Nix on Guix System and vice versa, but it's like installing them as a package manager on a foreign system. The store and packages currently are completely isolated between the two, although there's a very early plan for a common store interface.
No, monadic interface is used to programmatically access the store instead of being used to define packages. Packages are pure in Guix.
Guix uses Guile everywhere. Nix uses string interpolated Bash and Perl for anything impure.
Now what do you think?
Nobody has mentioned that Guix is readily available on NixOS right now? Add a line to your config and it's ready to go. Compatible with everything else.
Typst. Much easier to setup and learn than TeX based solutions with similar capabilities.
I think there's no need to stick with one particular language. It benefits to learn more languages and bring the "good parts" of their design into your code whatever you are writing it in.
Btw It happens that I've learned a bit of RISC-V, with Rust.
I'd say no. Programming safely requires non-trivial transformation in code and a radical change in style, which afaik cannot be easily done automated.
Do you think that there's any chance to convert from this to this? It requires understanding of the algorithm and a thorough rewrite. Automated tools can only generate the former one because it must not change C's crooked semantics.
Well, they are not going to release in between, but their rewrite still "works" at each commit being a hybrid of Rust and C++.
- breaks compatibility
- breaks compatibility
- breaks compatibility
- hard to add without breaking compatibility
Then we arrive at Rust as a natural outcome.
And it's of course possible to migrate to Rust from C or C++ progressively, fish has almost got it done.
Yeah, I literally learnt how nix works through guix documentations.
I believe that I'm already using it on NixOS. Working without visible problems since half a year ago.
It kinda fills a niche.
I use fish for simple command pipelines as well. But traditional shells are not as good when I need to do anything "structured", because they treats almost any value as a string and don't have anonymous functions. The first problem means that you have to parse a string again and again to do anything useful, the second means that when both pipe and xargs
fails you are doomed.
Nu solves both of the big problems that matters when you want to do rather complex but ad-hoc processing of data. And with a rather principled design, nu is very easy to learn (fish is already way better than something POSIX like bash though).
Personally another important reason is that I have a Windows machine at work and nushell is much easier than pwsh.
Btw fish is also going to be a "tool in rust" soon :)
A git server don't need to know email to work, and it is not required to have a git server. Email in this workflow is an alternative to a PR: contributor submit a set of commits to the maintainer (or anyone interested). Then the maintainer is free to apply or merge the commits. After that the code can be pushed to any servers.