I cannot fathom this is an effective way to turn things around.
I was thinking about how somone with a bit of self respect and decent skill set will just find another employer where they can be valued more (the bar is really low now) .
This, to me, seems like an effective way to get rid of effective talent.
Generally I have the easiest time when I declare my state in the outermost scope possible, and then pass it into functions that need to operate on it. If I'm using an actual pointer, rather than a mutable reference that came in as an argument, something weird is happening! Usually that's the interface with some external library.
Rust in particular is *really* obnoxiously bad at OOP patterns, and I think my lesson at this point is that this is because it is hard to do OOP safely, at least in a way that jives with its borrow checker. Something like functional core, imperative shell seems to be a much nicer flow for the thing in general.
Anyway, I've just got the one major Rust project (an NES emulator) so I'd say I'm pretty early in my Rust journey. For me personally, the good points (delightful match, powerful enum) outweigh the bad (occasional borrow checker weirdness, frustrating lifetimes) but I think it depends a lot on what you're trying to do with it.
You can achieve some level of OO design by using traits (the generic kind, not the dyn kind), but I think the functional style and inline testing gives you a ton of nice properties for free!
Rust also pushes you to refactor in a way that really pulls out the core of your problem; the refactoring is just you understanding the problem at a deeper level (in my experience)
Rust, like ocaml, is best when used purely functionally until you run into something that isn't performant unless its imperative. But unlike ocaml or haskell there is a safe imperative middle ground before going all the way to unsafe. People who write modern C++ with value semantics etc. seem to have a lot less trouble than people coming from Java.
Most Rust code is not purely functional in my experience. It's quite similar in style to C++ except:
1. No class hierarchies and inheritance.
2. The borrow checker forces a tree structured ownership style. You don't get spaghetti ownership. This is generally great because that coding style leads to fewer bugs. But sometimes it is annoying and you have to use indices rather than pointers as references.
I mean, I don’t write it that way, but if it works for you. I wouldn’t say you have to write it that way so I wouldn’t want to put anyone off.
Thinking about your answer a bit more, one of the paradigms of Rust is “there shall be many immutable references or just one mutable reference” and so I can see that functional programming would naturally lead to that. But it’s a paradigm that works with the underlying principles rather than the true nature of the language, IMHO.
I do it by thinking about different domains of object graphs, and how data moves between them, for example.
https://doc.rust-lang.org/book/ is great. I’d been writing Rust for months before I started reading it and still began learning new things from the start. Oh, that’s why it does this!
Edit: Oh! And use “cargo clippy” regularly. It makes excellent recommendations for how to make your code more idiomatic, with links to docs explaining why it’s nicer that way.
As I understand FCC Part 15, devices are not allowed to generate interference on purpose and are supposed to accept interference by design. In the US this does seem to violate Part 15 but if it's small enough broadcast and only at the neighbors speaker, I can't imagine someone actually getting fined for it unless they do it constantly and the FCC is alerted.
I am of two minds on the one hand it feels like you might be right. On the other hand if it helps us reduce the noise in searches it will be a huge leap forward
How low we have sunk that we'll accept a chatbot search result because it looks and sounds good even though the data is absolutely not the correct answer just because googs has ruined search with sole consideration being ads rather than the results
You would be the only one who has sunk. Ads on search results are not the problem, garbage web results are. SEO optimized trash that is designed to be at the top result of google for no reason. And having this be half of the first page of results for many popular searches leads people down a rabbit hole of appending "site:reddit.com" or using flags to hide entire words in search results. Having an AI to synthesize the most important parts of a search is a net positive to society, not a disadvantage.