TLDR; the author likes rust and wanted to use it. The article reads like some dev's rationalizing what they want to do to the management. These types of things are fine, but as a dev to a dev it is obvious that they just want to use this cool tech. Good for them.
I can't wait until Rust is no longer be perceived as hipster trendy choice.<p>It's a very solid language in the no-GC niche and shouldn't need a blog post from every project that uses it.<p>Does it have to be 30 years old before it's not "new" and weird?
I think TiKV is a good example where team chose Rust over Modern C++. Rust gives the same performance and is close to metal like C when it is necessary. All possible memory management mistakes it catches at compile time if it's not "unsafe" and this is a really great!<p>With Rust I can hack without fear! I shouldn't remember tons of C++ rules which are described in <a href="http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines" rel="nofollow">http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines</a>, "C++ programming language" book, also here <a href="https://herbsutter.com/gotw/" rel="nofollow">https://herbsutter.com/gotw/</a>, etc and I can focus on algorithms and implementation.<p>C++ combines a lot of different paradigms m.b. more correct I would like to say "C++ paradigms hell"! Which of C++ subsets is the right way, no one understands. Even Bjarne Stroustrup said, "Within C++, there is a much smaller and cleaner language struggling to get out." - and where is this "smaller and cleaner language"?. What is the idiomatic style in C++? Is it Google guidelines, CoreCpp guidelines or other enormous guides?<p>I look inside a lot of C++ projects and each of them has different styles, use different paradigms, sometimes look like different languages!<p>Rust, Go, C, Java code bases look the same, they have their own idiomatic style, their own way.<p>I think Rust is the next step in the evolution of system programming language.
> After years of usage of GC, it is very hard to go back time for manually managing the memory.<p>... are you guys sure of your "experienced C++ developers" ? There's as much memory management in modern C++ than in GC'ed language: none. Create your objects with `make_unique` or `make_shared` according to what makes sense (or just enforce `make_shared` if you're really dubious of the coding abilities of your team but at this point you'll have problems whatever you do).
Considering that their team likes Go, it seems strange to me that they would consider Rust over Go for the storage layer. A storage layer should be IO-bound, and should hardly trouble the CPU; the choice of language really should not be a determining factor. The big wins in that space are architectural, not language specific.
Anybody have experience with TiDB? How does it stack up against CockroachDB? Seems hard to find comparison. Probably hear less about it mostly because it's developed in China? Looks like it's an impressive piece of tech, though.
> its innovation in the type system and syntax gives it a unique edge in developing Domain-Specific Libraries (DSL).<p>I think Racket still has the edge for producing DSL?
It is kind of funny how software engineers can engage in lengthy discussion about tooling. Imagine the same for architects. Instead of looking at the building they would talk about the type of hammer they used while building it.