<story><title>A Gentle Introduction to Rust</title><url>https://stevedonovan.github.io/rust-gentle-intro/readme.html#a-gentle-introduction-to-rust</url></story><parent_chain></parent_chain><comment><author>skywhopper</author><text>Speaking as someone who&amp;#x27;s poked around at the edges of Rust and always come away frustrated, the Rust world does need a &amp;quot;gentle introduction&amp;quot;. But while this document seems to understand that need, it gets messy pretty fast.&lt;p&gt;First of all, the introduction is all over the place, and poorly structured. There first section asks &amp;quot;Why Learn a new Programming Language?&amp;quot; but never answers that question (beyond &amp;quot;it&amp;#x27;s good mental exercise&amp;quot;), and follows it up with a section labelled &amp;quot;Where Rust Shines&amp;quot; that instead vaguely compares its memory management approach to C, calls C a &amp;quot;cowboy language&amp;quot;, lists some of Rust&amp;#x27;s design components (not really even principles, just aspects of the language), and then starts giving advice for how to learn a programming language in general? What?&lt;p&gt;Next is Hello World, and immediately &amp;quot;Rust is a curly-braces language with semicolons, C++-style comments and a main function - so far, so familiar.&amp;quot; Well, to C++&amp;#x2F;Java&amp;#x2F;Javascript programmers, maybe it is familiar. That may well be a huge part of your intended audience, but this gloss of the basics is a big red flag about what assumptions might be made further on.&lt;p&gt;&amp;quot;The exclamation mark indicates that this is a macro call. For C++ programmers, this can be a turn-off, since they are used to seriously stupid C macros&amp;quot;&lt;p&gt;Whoa, there, cowboy! This is Hello World! Mentioning macros at all should probably be reserved for a little later, much less vaguely referencing the C preprocessor&amp;#x27;s bad repuation. Then the tangent about &amp;quot;OMG, you mean I have to type an exclamation point!?&amp;quot; is telling, though. At this point in a gentle introduction, you probably shouldn&amp;#x27;t be already alluding to the trash talking about the language.&lt;p&gt;We aren&amp;#x27;t even past the first example. Further down the page, there&amp;#x27;s some big talk about how Rust favors explicitness, immediately followed by a discussion of how all the types are implicit and how confusing that can be. No mention of how you would remember that `f64` is the default floating point type...&lt;p&gt;This is a worthy attempt and probably a good first draft. It&amp;#x27;s definitely a document that needs to exist, but in its current state, it&amp;#x27;s an gentle intro that only a disaffected C++ programmer could love. But please keep working on it--I need something like this.</text></comment>
<story><title>A Gentle Introduction to Rust</title><url>https://stevedonovan.github.io/rust-gentle-intro/readme.html#a-gentle-introduction-to-rust</url></story><parent_chain></parent_chain><comment><author>allengeorge</author><text>Parsing with `nom` seems like a pretty aggressive introduction to Rust :)</text></comment>