Yes, Rust can be a challenge to learn, but the rewards can be great, if you master it.
Consider that ALL programming/scripting languages respresent abstractions of the code that actually gets executed by a given computer’s CPU, i.e. binary machine code. Generally, the higher the level of abstraction offered by a language, the further away it is from machine code, the more the language constructs “do” for you (as a programmer), and the easier it tends to be to learn and master. Conversely, the lower the level of abstraction, the reverse of each of those points apply.
More abstract languages typically help you write your code more quickly. Less abstract languages typically result in smaller executables and more performant code. With modern techniques such as JIT compilation and profiling/optimizing compilers, these differences are shrinking, but they’re unlikely to be eliminated.
The lowest level of abstraction is Assembler, which typically has a syntax that closely mirrors the machine code instruction set of a given CPU. It’s not for the faint-hearted!
Rust, like C/C++, is the next level of abstraction. Like C/C++, it is used for system programming. Rust is making steady inroads into the space which used to be the exclusive domain of C/C++, largely because it very neatly avoids the memory management challenges posed by those languages.
Rust is also powerful in that in addition to creating native executables, it can also target Web Assembly for compilation, which is now supported by all modern web browsers. So, potentially one highly performant language for multiple problem domains (server, desktop, mobile, embedded, browser).
I had several years of C/C++ experience, so transitioning to Rust was not too difficult.
Dada is new to me. Looking at the website, it appears to be very much a WIP experiment. Interesting and worth following, but no way ready for prime time. Interestingly, if you examine the Dada GitHub repo, you’ll see it’s written in Rust. There’s a reason for that.