<story><title>Rust in 2018: easier to use</title><url>https://jvns.ca/blog/2018/01/13/rust-in-2018--way-easier-to-use/</url></story><parent_chain><item><author>yen223</author><text>This is going to sound weird, but I would like to see a garbage-collected Rust. Take away the borrow checker, and you still have a modern language with UTF-8 support out-of-the-box, algebraic data types, pattern matching, a focus on performance, and great tooling (cargo + rustup = &amp;lt;3).&lt;p&gt;OCaml almost fits the bill (Rust is inspired by OCaml after all), but the tooling around it is lacking to put it mildly.</text></item></parent_chain><comment><author>bvinc</author><text>You should know that rust always intended to have owned&amp;#x2F;shared references, Rc&amp;lt;T&amp;gt; reference counting, and Gc&amp;lt;T&amp;gt; garbage collected pointers.  It turns out that LLVM made precise garbage collection a hard thing to add on to the language inside of it&amp;#x27;s standard library.  I believe recent changes to LLVM make this easier and it&amp;#x27;s still a planned feature in the future.&lt;p&gt;It still doesn&amp;#x27;t really meet your idea you probably have in your head. When people can choose between different types of pointers, people will choose rust&amp;#x27;s normal lightweight lifetime references 99% of the time.  Gc&amp;lt;T&amp;gt; will probably only be used in those rare cases where an object has no clear owner.  They figured this out in the early days of rust.</text></comment>
<story><title>Rust in 2018: easier to use</title><url>https://jvns.ca/blog/2018/01/13/rust-in-2018--way-easier-to-use/</url></story><parent_chain><item><author>yen223</author><text>This is going to sound weird, but I would like to see a garbage-collected Rust. Take away the borrow checker, and you still have a modern language with UTF-8 support out-of-the-box, algebraic data types, pattern matching, a focus on performance, and great tooling (cargo + rustup = &amp;lt;3).&lt;p&gt;OCaml almost fits the bill (Rust is inspired by OCaml after all), but the tooling around it is lacking to put it mildly.</text></item></parent_chain><comment><author>Nelkins</author><text>F# sounds like it fits the bill.  ADT, pattern matching, performant, great tooling (multiple amazing IDEs, a REPL, etc.), and a huge ecosystem of software packages to use with it (all of .NET).  It&amp;#x27;s my favorite general purpose programming language (can be used for frontend programming, server, mobile apps, etc.).</text></comment>