Earlier quoted context omitted.
I gave Rust a good solid tryout. It turned out to be insufficiently expressive to put into libraries the semantics I want to encapsulate. I went back to C++, and have been very happy. (It's also nice that lots of people want to pay to have it done.) As with Rust, I can write 2000 lines and, once it compiles, it works. The hardest thing about going back to C++ from Rust was getting used to putting semicolons where Rus…
isn't C++ more like "once it compiles, it works, but later you discover 10 places where it segfaults"?
First Impressions of Rust
81–90 of 191 posts
Re: First Impressions of Rust
#82Earlier quoted context omitted.
Conversely the arguments I've heard for namespaces is that multiple people want to reimplement or make bindings for the same C library. In maven central, in my anecdotal experience, namespaces usually either distinguish forks of the same library, or to group related libraries. There has never been, in my experience, a case where I wanted two packages with the same name in different namespaces. I think a better system…
There's a bigger problem that someone has reserved a ton of common names and they're all empty projects with nothing in them.
"logger" is now forever a middleware for the iron framework. Same with "router". Iron is pretty much obsolete now.
Re: First Impressions of Rust
#83Earlier quoted context omitted.
The asm!() to llvm_asm!() was a pain.
Shouldn't it have been a simple find-and-replace?
For a single crate, sure.
When you're managing multiple crates, an older nightly compiler version (because the software hasn't been tested much on the newer nightly), and git submodules... it isn't so easy.
I wasn't actually doing the work, but from the outside it seemed like a pain.
Re: First Impressions of Rust
#84Uhm, ok, pointers in Haskell… must be really low-level programming, because ordinary Haskell doesn't deal with pointers.
Re: First Impressions of Rust
#85I find it absolutely frustrating that Rust packaging/crates.io doesn't support namespaces. The arguments I've read are always theoretical/what ifs, but I've yet to be convinced the current situation is better than the practical benefits of namespaces.
Re: First Impressions of Rust
#86> [In Haskell] I spent a lot of time debugging dangling pointers and race conditions. Uhm, ok, pointers in Haskell… must be really low-level programming, because ordinary Haskell doesn't deal with pointers.
My Haskell binding to CPython is larger but of about the same shape.
Re: First Impressions of Rust
#87This guys website is weird. I first noticed as scrolling doesnt work with the keyboard. Upon inspection of HTML hes using weird shadow dom stuff. Why do people do stuff like this? Its a static site, modern HTML and CSS are huge and can handle nearly any situation.
Scrolling works with keyboard. There is nothing weird about shadow dom, it's part of the standard.
I firmly believe that you shouldn't need client-side JavaScript for anything fancier than things like progressively enhancing a form field into a clickable star-rating widget unless you're writing an actual "web app"... definitely not for a blog. I'm just glad the text of his articles remains readable under the influence of my default uMatrix settings, even if none of the site-navigation boilerplate is.
Heck, if I thought it could be done without failing Lyndon Johnson's "the harm it would cause if improperly administered" test, I'd ask for laws that penalize people for pushing that sort of computating to the client where it can't be cached for more than just that one machine. They could be justified as a way to cut down on CO2 emissions.
As-is, if I can ever find the time, I want to see how much performance gain and "model has desynced from visible rendering" resilience I can get in my Firefox by ripping out Tree Style Tab and replacing it with something that uses the sidebar's DOM as the authoritative data model, built using / expander/collapser nesting. (I've already prototyped the HTML for that as a simple transformation of what Markdown or ReStructuredText renderers output for nested outlines.)
Re: First Impressions of Rust
#88> I eventually gave up on trying to make the formatted rust-fuse code look pretty, and settled for "consistent". Even though it's a bit ugly, this is a big win. As for why it does this, from my experience, rust-fmt will try to keep lines under a column limit but not greedily. e.g. if a params list would extend past the limit, then all params get a newline. It seems to try to balance horizontal estate and vertical est…
Just in case anyone's not familiar with it, I figured it's worth pointing that rustfmt is also really customizable, using a `rustfmt.toml` file in the source directory. It might take a little time to get right, but it's not as if you're stuck with the default options, and a .toml file is pretty easy to play around with. [1] https://rust-lang.github.io/rustfmt/?version=master&search=
I've had to make use of `rustfmt::skip` in various places to keep it from doing things like mangling the groupings and explanatory comments in `const` arrays or making code gratuitously tall and thin.
...and that sometimes means either `git gui` cherry-picking and only running rustfmt infrequently or applying `rustfmt::skip` too broadly because of errors like "error[E0658]: attributes on expressions are experimental"
(I'm in the process of migrating from cherry-picking to over-broad `rustfmt::skip` so I can use format-on-save.)
Re: First Impressions of Rust
#89I find it absolutely frustrating that Rust packaging/crates.io doesn't support namespaces. The arguments I've read are always theoretical/what ifs, but I've yet to be convinced the current situation is better than the practical benefits of namespaces.
Why not `anonova-logger` instead of `logger`. You can namespace by naming if you want.
Re: First Impressions of Rust
#90"I really really enjoy using Rust. It is nearly everything I want in a systems programming language, and the few parts it's missing are due to legitimate technical difficulty. The amount of careful thought I've seen put into its design – crafting async/await to work in no_std environments, or the new inline assembly syntax – has produced a language that is not only better than what I could have designed, it's better among axes I was not even aware existed prior to reading the Rust RFCs."