Post

the wild thing is that while there's good reasons to not use one language across your entire software stack from bare metal microcontrollers to web front-end, the one language you can do this with and have it not be an objectively stupid choice is probably rust.

Orual@nonbinary.computer

legit I use (micro)Python a fair bit for rapid prototyping on embedded, especially if I *know* for sure i am going to throw away the prototype or perf just does not matter one bit. if I think the prototype might become production I will often try and write it in rust.

reference counting is wonderful. Rust is not actually a hard language. There are some things it makes you think about, but if you want to write good code that runs fast and is reliable you should already be thinking about them.

rust gives you plenty of ways to avoid having to fuss with lifetimes if you don't want to. and IMO lifetimes are about as easy as monads, and neither is nearly as hard as everyone else makes them out to be.

0 reposts1 like

That's definitely 110% true, I'm an idiot and I learned how to use monads. Maybe it's just because I haven't practiced enough, but it definitely feels like the cognitive load of managing lifetimes scales linearly with the size of the project, though.

Yes and no. There's definitely some cognitive overhead, but there's also a lot of stuff that they make oddly clearer. I think a lot of the explanations people get of lifetimes are pretty bad (just like with monads) and that doesn't help matters. I need to maybe write what i'd consider a good one.