I&#x27;m working with Rust 2 months. In my opinion, pluses:<p>+ Compiler with very helpful error messages;<p>+ Cargo is the best package manager in the universe;<p>+ Result&lt;&gt; is the most correct way to return results from function, I dreamed about it;<p>+ Community of smart and friendly people.<p>Minuses:<p>- Functions are not first class citizens - you can&#x27;t return function as result;<p>- Violation of &quot;explicit over implicit&quot; rule in methods declarations: argument self&#x2F;&amp;self is implicitly omitted in call, but exist in signature. Because of this, for example, you can&#x27;t use method of class as request handler in Iron, you need closure wrapper with same order and count of arguments. Pure ugliness;<p>- Often you need just add lifetime definition to satisfy compiler, without doing anything with this lifetime anywhere else in code;<p>- Extremely verbose syntax;<p>- Rust has exceptions (panic), and you can&#x27;t catch them. And with promised panic::recover you&#x27;ll have limitations of supported structures;<p>- Errors handling encourages copy-pasting;<p>- Syntax is not intuitive, especially when traits and lifetimes comes into declaration - in such cases you can look at own code and think &quot;I hope at least compiler can read it&quot;;<p>- Nested structures is pain;<p>- Lack of optional and named arguments, lack of predefined values in structures;<p>- Too few modules for web. Just 1 module for MySQL (thanks to it&#x27;s author - actively maintained);<p>- Usage of safe code can lead to out-of-bounds errors, with thread panic (hello to vec macros).<p>And I still think it&#x27;s best language we have:) Biggest advantage - most of errors can be found on compilation step. But price is all of these minuses.