<story><title>Two Weeks of Rust</title><url>http://www.matusiak.eu/numerodix/blog/2016/1/10/two-weeks-rust/</url></story><parent_chain><item><author>blub</author><text>It&amp;#x27;s funny to see how these languages topics always explode. I read it when it had about 20 comments and then it predictably devolved into a mess of hype and comparisons.&lt;p&gt;Anyway, I think your strategy is sound. Rust is a young language and I would be pleasantly surprised to see code written today still compile in five years. 
I got bit by this with Swift v1 in a little app. When 1.x came, it failed to correctly transform the source and the whole thing was a major PITA to update. Completely soured me from using Swift.&lt;p&gt;I can understand why Mozilla wants to use Rust. It solves a problem for them, they largely control how the project evolves and can plan for it. 
To me, the big questions are what will happen to Rust if Mozilla changes strategies (Persona, Thunderbird, FirefoxOS) and whether Mozilla will continue to be a successful organisation. Personally, I root for them, in spite of their recent missteps.&lt;p&gt;I think Rust might be a good choice now for language aficionados and early adopters which can afford to waste time in exchange for other potential benefits. I would absolutely not use it to bring a project to market or for an OSS project which has a long term vision. In 5+ years I expect such a decision could be worth revisiting.</text></item><item><author>petke</author><text>Languages come and go but C++ remains. I wonder if this one will be different.&lt;p&gt;Im not trying to be a jerk. Just voicing my concerns. Learning a new language and producing code in it is a huge commitment. It better be around in 10 years. Will it still be as clean and simple, or will it have grown complex. What if Mozilla stops sponsoring it?&lt;p&gt;C++ is 35 years old. It has stood the test of time. I would not be surprised if it was still popular in 35 years time, when I retire. There is so much C++ infrastructure code in this world, that its not going anywhere.&lt;p&gt;In the meantime C++ has evolved. I cant remember the last time I had an uninitialized memory, null pointers, or buffer overflow -bug. Those are low level C problems. If you avoid C-style programming and stick with modern C++ (RAII, value semantics, STL, boost, etc) you wont get them.&lt;p&gt;C++ is changing fast. In the next few years we are getting high level concurrency and parallel language support and libraries (no more low level thread problems), we are getting modules (no more preprocessor hacks), compile time reflection (no more manual serialisation), concepts (no more ugly error messages), ranges (no more cumbersome iterators), and a whole lot more.&lt;p&gt;And finally there is &amp;quot;C++ Core Guidelines&amp;quot; which aims to be checkable by tools. So you get a warning when you are relying on undefined behaviour.&lt;p&gt;I think C++ is still the future.</text></item><item><author>taliesinb</author><text>&amp;quot;No segfaults, no uninitialized memory, no coercion bugs, no data races, no null pointers, no header files, no makefiles, no autoconf, no cmake, no gdb. What if all the problems of c&amp;#x2F;c++ were fixed with one swing of a magic wand? The future is here, people&amp;quot;&lt;p&gt;It certainly is.&lt;p&gt;The advantages over C++ seemingly never end. I&amp;#x27;d add to the list: rigorous portability, non-broken macros, ADTs and pattern matching, a careful language stability protocol, standard test and doc tooling, flexible namespacing via visibility and modules, the &lt;i&gt;absense&lt;/i&gt; of vast lacunas of undefined behaviour, simple numeric promotion rules, meaningful compile-time errors for generic code. Plus things already mentioned in the post like Cargo.&lt;p&gt;People tend to focus on the safety side of Rust, but as impressive to me is just the... solidity on all these other axes. If you stripped out lifetimes and the borrow checker you would still have an incredibly compelling alternative to C++.</text></item></parent_chain><comment><author>pcwalton</author><text>&amp;gt; Rust is a young language and I would be pleasantly surprised to see code written today still compile in five years.&lt;p&gt;We have had a code stability promise for months now in 1.0. So what you are saying here is that you do not believe that Rust will adhere to what it very publicly planned to do. Do you have specific reasons for this?&lt;p&gt;&amp;gt;  To me, the big questions are what will happen to Rust if Mozilla changes strategies (Persona, Thunderbird, FirefoxOS) and whether Mozilla will continue to be a successful organisation.&lt;p&gt;Rust has a core team and community that overlaps a lot with, but is very much not identical to, Mozilla. Probably most Rust users aren&amp;#x27;t even Firefox users.&lt;p&gt;Rust is not &amp;quot;Mozilla&amp;#x27;s language&amp;quot;. It&amp;#x27;s the Rust community&amp;#x27;s language.</text></comment>
<story><title>Two Weeks of Rust</title><url>http://www.matusiak.eu/numerodix/blog/2016/1/10/two-weeks-rust/</url></story><parent_chain><item><author>blub</author><text>It&amp;#x27;s funny to see how these languages topics always explode. I read it when it had about 20 comments and then it predictably devolved into a mess of hype and comparisons.&lt;p&gt;Anyway, I think your strategy is sound. Rust is a young language and I would be pleasantly surprised to see code written today still compile in five years. 
I got bit by this with Swift v1 in a little app. When 1.x came, it failed to correctly transform the source and the whole thing was a major PITA to update. Completely soured me from using Swift.&lt;p&gt;I can understand why Mozilla wants to use Rust. It solves a problem for them, they largely control how the project evolves and can plan for it. 
To me, the big questions are what will happen to Rust if Mozilla changes strategies (Persona, Thunderbird, FirefoxOS) and whether Mozilla will continue to be a successful organisation. Personally, I root for them, in spite of their recent missteps.&lt;p&gt;I think Rust might be a good choice now for language aficionados and early adopters which can afford to waste time in exchange for other potential benefits. I would absolutely not use it to bring a project to market or for an OSS project which has a long term vision. In 5+ years I expect such a decision could be worth revisiting.</text></item><item><author>petke</author><text>Languages come and go but C++ remains. I wonder if this one will be different.&lt;p&gt;Im not trying to be a jerk. Just voicing my concerns. Learning a new language and producing code in it is a huge commitment. It better be around in 10 years. Will it still be as clean and simple, or will it have grown complex. What if Mozilla stops sponsoring it?&lt;p&gt;C++ is 35 years old. It has stood the test of time. I would not be surprised if it was still popular in 35 years time, when I retire. There is so much C++ infrastructure code in this world, that its not going anywhere.&lt;p&gt;In the meantime C++ has evolved. I cant remember the last time I had an uninitialized memory, null pointers, or buffer overflow -bug. Those are low level C problems. If you avoid C-style programming and stick with modern C++ (RAII, value semantics, STL, boost, etc) you wont get them.&lt;p&gt;C++ is changing fast. In the next few years we are getting high level concurrency and parallel language support and libraries (no more low level thread problems), we are getting modules (no more preprocessor hacks), compile time reflection (no more manual serialisation), concepts (no more ugly error messages), ranges (no more cumbersome iterators), and a whole lot more.&lt;p&gt;And finally there is &amp;quot;C++ Core Guidelines&amp;quot; which aims to be checkable by tools. So you get a warning when you are relying on undefined behaviour.&lt;p&gt;I think C++ is still the future.</text></item><item><author>taliesinb</author><text>&amp;quot;No segfaults, no uninitialized memory, no coercion bugs, no data races, no null pointers, no header files, no makefiles, no autoconf, no cmake, no gdb. What if all the problems of c&amp;#x2F;c++ were fixed with one swing of a magic wand? The future is here, people&amp;quot;&lt;p&gt;It certainly is.&lt;p&gt;The advantages over C++ seemingly never end. I&amp;#x27;d add to the list: rigorous portability, non-broken macros, ADTs and pattern matching, a careful language stability protocol, standard test and doc tooling, flexible namespacing via visibility and modules, the &lt;i&gt;absense&lt;/i&gt; of vast lacunas of undefined behaviour, simple numeric promotion rules, meaningful compile-time errors for generic code. Plus things already mentioned in the post like Cargo.&lt;p&gt;People tend to focus on the safety side of Rust, but as impressive to me is just the... solidity on all these other axes. If you stripped out lifetimes and the borrow checker you would still have an incredibly compelling alternative to C++.</text></item></parent_chain><comment><author>mcguire</author><text>&amp;quot;&lt;i&gt;Rust is a young language and I would be pleasantly surprised to see code written today still compile in five years.&lt;/i&gt;&amp;quot;&lt;p&gt;I&amp;#x27;m myself willing to accept the promise of code stability, so I think you&amp;#x27;re looking at slightly the wrong problem. While I&amp;#x27;d expect current code to continue to compile, I also expect what is regarded as good Rust now won&amp;#x27;t be in five years. That&amp;#x27;s not a bad thing, but it also means that hopping on the Rust bandwagon might be premature.&lt;p&gt;The worst case? How about Haskell, where new language features make old code look worse even as it still works? Or C++, with it&amp;#x27;s accelerating rate of style changes?</text></comment>