hachyderm.io is one of the many independent Mastodon servers you can use to participate in the fediverse.
Hachyderm is a safe space, LGBTQIA+ and BLM, primarily comprised of tech industry professionals world wide. Note that many non-user account types have restrictions - please see our About page.

Administered by:

Server stats:

9.6K
active users

Esteban Küber :rust:

My coworkers ask for help with a compiler error... *once*...

...and then I run and try to mechanize my explanation and put it back in the compiler.

Our dev tools need to talk to humans in the way humans talk. Nobody is an expert on everything, helping newcomers (with better tools, better docs, better errors) helps *everyone*.

That's really the trick behind the rustc diagnostic output: it's not about a technology, its an attitude.

rustc doesn't have good diagnostic messages because of some technological breakthrough. It has good diagnostic because we look at how people use our tools, noticing when things confuse people, and changing the output to match people's mental model.

@ekuber I think this is one important difference to c/c++ where everything follows the philosophy "humans should follow the technology" not the other way round
Especially c++ is unfriendly to beginners

@ekuber I would boil it down to "it has good diagnostics because a bunch of people really care about it and put in a lot of effort".

@nnethercote indeed. It's a ratched effect: people who care about it work on it, which attracts people who care about it, who in turn notice the things that aren't yet great. The bar is constantly raised, what passed for great yesterday is expected today and will be considered subpar tomorrow.

@ekuber I love this attitude and I aim to emulate it.

I do technical standards work and one of the ways I’ve adapted that is that I’ve stopped accepting the preface “this might be a stupid question…”

I interject that you have the luxury of asking me (or the group) about ___. The next person reading the spec might have the same question and not have that luxury.

Please ask your question for them and let’s make it more obvious.

@scouten YES! For every one "this might be a silly question" there are another ten out there not asking the question but just as confused. There's no harm on iterating to make things clearer.

@ekuber I wish #Jetbrains would think the same with their #RustRover IDE. Some compiler errors are really poorly displayed. If you forget a question mark, you can run into a tooltip that spans half the screen (!) telling you that some argument “does not implement any of the following traits”. It will then list all the traits in the tooltip using non-monospaced font without line breaks etc.!
If I’m stuck, I run a build instead and look at the standard compiler output that’s much more useful.