The Path to Rust
&gt; <i>Rust is not the most beginner-friendly language out there — the compiler is not as lenient and forgiving as that of most other languages […], and will regularly reject your code […]. This creates a relatively high barrier to entry […].  In particular, Rust’s “catch bugs at compile time” mentality means that you often do not see partial progress — either your program doesn’t compile, or it runs and does the right thing. […] it can make it harder to learn by doing than in other, less strict languages.</i><p>I don&#x27;t see how making the type system stricter makes the language harder to learn.  Maybe that&#x27;s because I know another relatively paranoid type system (Ocaml), but still.<p>A type system that rejects your code is like a teacher looking at a proof you just wrote, and tells you &quot;this doesn&#x27;t even make sense, and here&#x27;s why&quot;.  It may be frustrating, but this kind of feedback loop is tighter than what you would get from a REPL.<p>And you <i>do</i> see partial progress: the type errors change and occur further in the source code as you correct your program.  Each error is an opportunity to fix a typo or a misconception.  The distinction between a broken prototype that doesn&#x27;t even compile and a working program isn&#x27;t binary: when you correct a type error, your program is <i>less</i> broken, even though it doesn&#x27;t compile yet.