1,523 karma · joined April 24, 2015
This doesn't make sense to me. I worked in a 50/50 VB.NET/C# codebase for years and while I don't love the VB syntax, the two languages were 99% interchangeable. Nearly anything you can do in C# you can do in VB.NET, and vice versa.
> The numbers reported here paint an interesting picture on the state of Linux multi-threaded performance in 2018. I would say that the limits still exist - running a million threads is probably not going to make sense; however, the limits have definitely shifted since the past, and a lot of folklore from the early 2000s doesn't apply today. On a beefy multi-core machine with lots of RAM we can easily run 10,000 threads in a single process today, in production. As I've mentioned above, it's highly recommended to watch Google's talk on fibers; through careful tuning of the kernel (and setting smaller default stacks) Google is able to run an order of magnitude more threads in parallel.
I wouldn't entirely agree with that (but I am biased, I work on Nu). One of the nice things about Nu is that it's trivial to bring in data from elsewhere; if other tools speak JSON, XML, TOML, CSV, etc. it's easy to bring that into a Nu pipeline.
Compare to VSTO, where IIRC installation just involves editing a registry value to let Office know where your add-in can be found on disk.
IMO deployment is an even harder problem. The Office team makes it incredibly difficult to deploy web add-ins (presumably for business reasons) and accordingly most companies I'm familiar with are still using the ancient, barely-supported COM+VSTO add-in models.
I like systemd but I can see a lot of value in friendlier tools like this. What I really want is a TUI tool like Lazydocker for managing systemd services.
For tools you want to be on the latest version of, why not use a package manager like homebrew that isn't tied to your distro?
I've never understood the Linux culture of tightly coupling OS and package management (and so I use brew even on Linux), but I seem to be in the minority.
Rui's given some good talks about Mold if you want more info: https://www.youtube.com/watch?v=hAt3kCalE0Y
(fairly large Rust project, 24-core machine, Linux)
When I benchmarked it about a year ago (with a fairly large Rust project on a 24-core machine), incremental builds went from ~8s to ~2.7s.
I can often evaluate a Copilot autocompletion (check that code looks right at first glance, check that it compiles, hover over method+type signatures to see their docs, run the code) in less time than it would take me to find+read a Stack Overflow answer.
The borrow checker slowed me down a lot at the start but these days it's not a big deal. Eventually you internalize the easiest ways to make it happy (clone and pass references as needed) and can reserve tricky optimizations for hot paths where they actually matter.
I would say that today, most of the times I sit down to write some Rust I'm nearly as productive as in higher-level languages... but then ~20% of the time I get bogged down in complicated type signature stuff (especially with async code, ugh) and it's a time suck.
- MS tried to use it to force developers to distribute their apps through the Store
- Eventually they gave up and let people use it outside the Store, but didn't invest enough in bug fixes and backporting the fixes, so it's impractical to use outside the Store
- It requires code signing outside the Store which is a huge pain
Because Rust excels on a lot of dimensions other than "systems programming"; Cargo is fantastic, the ecosystem of packages is great, it's one of the only languages that takes cross-platform support (including Windows) seriously, and it's got sum types.
Or, as withoutboats put it: https://twitter.com/withoutboats/status/1658536526043570179
Seems like it has answers up to July 30, so he's either a time traveller or it's possible to get future answers by looking at the Wordle source.
With SQLite, it's often practical to issue several queries in situations where that would be too slow for a traditional client-server database.
> When the app starts, the managed DLLs are extracted and loaded in memory, avoiding the extraction to a folder.
https://learn.microsoft.com/en-us/dotnet/core/deploying/sing...