In #rustlang, None is always an Option<_>.
Raceless concurrency and
Abstraction in Spring
There's the haiku.
Yeah, the API is based on practical concerns. "We're straddling a fence" isn't a practical concern, especially when both sides of the fence are filled with lava
< durka42> rustc deals in absolutes
< durka42> much like Sith lords
< kimundi> durka42: Under that metaphor "unsafe" would be the light side of the force, which just sounds wrong
< durka42> kimundi: yes it can be corrupting if you are not personally disciplined in your use of it
< mbrubeck> safe rust is quicker, easier, more seductive...
An "oldie" that I stumbled over, that hasn't been mentioned yet:
We like to say that Rust enables belligerent refactoring - making
dramatic changes and then working with the compiler to bring your
project back to a working state.
From rust-friend OneSignal, in their blog post Rust at OneSignal
<Kingsquee> rustc --explain <Kingsquee> [it opens irc]
I had many questions during the example implementations but "where do I find that" was none of them. [...] Thanks, docs team, you are doing great work!
(abbreviated for clarity)
Found inside a link in TWiR 172 :
Funny enough, that's one of my main sales pitches, especially in concurrent situations. I run under the assumption that many concurrency bugs are introduced when porting single-threaded code to multithreaded code.
So, I'm sort of staying in a theme with my recent submissions, on the usability of Rust (because I truly believe this message is worth amplifying to the whole wide world);
on the risk of deepening that groove into a rut:
Honestly, that's my experience of Rust in a nutshell. This language
makes so many of the things that used to only be the realm of
experienced C++ programmers accessible to the rest of us - I find that
Joe Clay / SeventeenCupsOfCoffee, in his tutorial "Writing an Audio Plugin in Rust"
(discussion topic here on these forums)
The tutorial illustrates how Rust (together with the
vst2 crate) brings a whole new category of artistic expression (making your own audio effects) into the reach of "average" musicians.
Re: sales pitch: Having good documentation is a life-saver for any serious usage!
When I'm evaluating a library for inclusion into our research projects, I always try to browse the docs for a bit, see how deep they dig, if they mention gotcha's, etc.
Re: rest: Sorry, you lost me there; how do concurrency bugs come into play from having good documentation?
It was a reply to the refactoring comment.
Ah, then everything makes sense again
I should have checked to which of my posts you where replying; the discourse layout makes this info available, but not directly so..
I'd like to nominate this quote from "It’s time for a memory safety intervention" by Tony Arcieri
However, programmers utilizing state-of-the-art C tooling and best practices still constantly produce programs riddled with severe memory safety vulnerabilities. For all these tactics they are losing the memory safety war, because even with great tactics you can’t win a war with a bad strategy.
Rust is one of the most common causes of bridge accidents.
Is that a hidden request for a safer FFI?
cupcakes and arguments about the borrow checker? partying doesn't get much harder than that
<theJPster> I gave my company's Embedded C training course this morning. <theJPster> It's amazing how much more sense C makes when you explain it in Rust terms.
in #rust-embedded 2017-03-31 14:55
Who art on GitHub,
Hallowed be thy git blame.
Thy rewrite come,
Thy will be done,
Online as it is in heaven.
Give us this day our zero-cost abstractions,
And forgive us our allocations,
As we forgive those who allocate unavoidably.
Lead us not into unsafety,
And deliver us from C-vil. Amen
-- @bstrie at https://github.com/FascinatedBox/lily/issues/294
(With context pointing out the rewrite part is a joke)
Yes, without the context this is just terribly creepy. Be careful before you use that one of mine.
Did you ever hear the tragedy of Darth Stroustrup The Wise? I thought not. It’s not a story the ISO C++ Standards Committee would tell you. Darth Stroustrup was a Dark Lord of Bell Labs, so powerful and so wise he could use object-oriented programming to influence managers to adopt languages… He had such a knowledge of template metaprogramming that he could even keep the pointers he cared about from dangling. Template metaprogramming is a pathway to many abilities some consider to be unnatural. He became so powerful… the only thing he was afraid of was everything being rewritten in Rust, which eventually, of course, it was. Unfortunately, he taught his apprentice everything he knew, then his apprentice invented Rust. Ironic. He could keep pointed-to memory alive, but not his language.
Recovered from the /r/rust April Fool's CSS, author unknown.