I suppose I'm a bit more optimistic than you; I feel that most commenters tend to do a pretty good job of not veering into unrelated topics, even when things start getting heated. The lobste.rs discussion on this post, for instance, seems to have avoided these tangents.
> As for strangeness, all three of these are valid:
To mangle a quote from a certain movie, "The strangeness budget is more what you'd call 'guidelines' than actual rules" :P
I agree that most C++ programmers would expect what you showed, but as with many things the turbofish is a tradeoff (unfamiliar syntax vs. ease of parsing). I presume the Rust devs at the time thought the tradeoff was worth it and there just hasn't been sufficient consensus/motivation to change it since then.
I recall someone here talking about the oddity you mention, but I don't remember if they said it was an implementation quirk or something more fundamental to Rust's grammar.
[–] xscott 4 hours ago
[–] aw1621107 4 hours ago
> The downside to using familiar syntax in a radically different language is that the differences really catch you by surprise.
Definitely agreed. It's a fine needle to thread for devs and I would not be surprised if there were tradeoffs to be made between familiarity and not importing too much of the inspiring language.
> I thought a lot about starting a blog to document the real stumbling points I hit, but it would be tedious and whiny, and I'm not interested in building an audience.
For what it's worth I personally think I'd find such a thing interesting to read. Sounds like it could make for some good feedback for better onboarding as well (well, assuming you're not talking about stumbling points from your first forays into Rust. But even those can still have some intellectual value, if the interest in Graydon's reflections on Rust's early days are any indication)
[–] xscott 2 hours ago
As for the blog, it would not have been good for onboarding people to Rust. "Stumbling points" was the wrong phrase. I meant something stronger and more critical than that.
Anyway, thank you for the friendly chat! Time for me to go to bed.
Within reason, syntax doesn't really matter to me though. For instance, I was eager to learn the original sigil-based language. The downside to using familiar syntax in a radically different language is that the differences really catch you by surprise.
I fumbled around for a while before I learned those three bits of turbofish above, and I put them in my notes once I found them. It wasn't an easy thing to search for because the nomenclature and concepts are all different. Generics - not templates, traits - not classes, associated functions - not constructors. I'm still not sure about that last one. More debits to the strangeness budget.
Anyway, syntax and nomenclature are things any serious developer would get past. I thought a lot about starting a blog to document the real stumbling points I hit, but it would be tedious and whiny, and I'm not interested in building an audience.