I see it as a progression — if some functionality grows too big, it gets its own module. If the module grows too big, its moved into a crate in the same repo and workspace, and if that has life on its own, its moved to a separate repo as a project on its own.
/me is patiently waiting for Reddit and HN threads mocking Java.
"LOL, those Java guys have to disable their GC! They are reinventing Rust!"
Should you write data structures in Rust? If you just want to use them,
get one of those available in std or on crates.io. Otherwise, knock
yourself out; if you don’t, the borrow checker likely will.
-- llogiq
" I really love rust - there are so many constraints from the compiler like its my birthday. "
Multi crate repository vs multiple repositories
There is not better Rust Evangelism than real C code.
From the "Rust and OOP" thread.
<raynold> ahh it's a wonderful day. rust is the best
<bstrie> raynold: you're halfway to a haiku
<bstrie> day so wonderful / rust programming is the best / it's snowing on mt. fuji
<mbrubeck> fn foo(U) -> T / where T: FromIterator / <Item=U>
<mbrubeck> (`U` is an allusion to the "sUmmer", obviously)
<bstrie> mbrubeck: it's... so beautiful ;_;
Almost...
GC-less safety
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
from #rust-beginners:
< 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
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
really exciting!
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.
There's enough musicians who "dabble" a bit in programming, maybe building their own websites with javascript etc. Most however would shy away from the "real" programming currently needed to make an audio-plugin in C/C++, because that's just too many cans of worms.
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.