Green vs. Brown Programming Languages
I think there&#x27;s a lot of truth to this, but I&#x27;m going to make an additional suggestion that I&#x27;ll readily admit is biased by my own feelings:<p>I think Go is in a honeymoon phase and people will hate it in 10 years; I think Rust will continue to be liked even when it&#x27;s a legacy language (perhaps no language can continue being <i>loved</i> once it becomes &quot;brown&quot;, but I think Rust will be a lot less dreaded than others).<p>Go, like Ruby (mentioned at the end of the article), is optimized for <i>building</i>. You can do things quickly and easily with minimal ceremony. Some people love that. But that&#x27;s exactly the trait that&#x27;s starting to weigh on Ruby, and it&#x27;s exactly the trait that has put PHP and Perl in the &quot;dread&quot; category over time (remember when people were in love with those?).<p>Rust on the other hand is optimized for <i>maintaining</i> (it&#x27;s right there in the name: software should be allowed to become old and &quot;collect rust&quot;). Rust APIs are very hard to misuse, everything is constrained and specified very explicitly. Documentation and testing live inline with your code. You know exactly what a piece of code can and can&#x27;t do - you even know whether it&#x27;s allowed to mutate an object you&#x27;re passing it. And of course certain mistakes are impossible to make at all without (again, explicitly) dipping into unsafe { }.<p>This kind of forethought is what makes a language that survives the honeymoon phase.