I didn&#x27;t write this blog post, though I did help the author optimize their Rust code when they dropped by #rust, so I&#x27;ll respond to the generic Rust stuff rather than those details.<p><pre><code>  &gt; Semicolons inconsistent usage
</code></pre>
You&#x27;ve asserted this, but not demonstrated it: semicolon usage is consistent in Rust. Rust is not C++, so it doesn&#x27;t necessarily follow the same rules, but it is consistent, even though it may be different.<p><pre><code>  &gt; C++ is better precisely because it&#x27;s more grained on the initialization side.
</code></pre>
Can you elaborate on this? I&#x27;m not exactly sure what you&#x27;re saying.<p><pre><code>  &gt; There is an interesting &amp;⊛env:: in there that makes the language
  &gt; looks like it needs a bit more work. 
</code></pre>
See above: this kind of thing is about how Rust views coercion and heap allocation: explicit, not implicit.<p><pre><code>  &gt;  Just replace the :: with something else.
</code></pre>
We tried that. We still ended up with :: as a scope operator.<p><pre><code>  &gt; Remove the &#x27;let&#x27; from the language, and it does look cleaner than the C++.
</code></pre>
`let` has a few advantages, in that it allows you to take advantage of patterns, and makes initialization explicit.<p><pre><code>  &gt; Why isn&#x27;t &quot;(0..7).rev()&quot; &quot;(7..0)&quot;
</code></pre>
Because ranges always iterate forward, from start to end. rev() reverses the direction.<p><pre><code>  &gt; On the bottom part, lamba-like usage
</code></pre>
I&#x27;m not sure what you&#x27;re referring to here.