Title: After playing with rust, I really like it. However, I generally don&#x27;t need to write the low level code that justifies the increased complexity of the borrow checker. I would rather just pay the small price for a garbage collector. What language is most like rust, but at a higher level?<p>To me, these are the things that I like about rust that I&#x27;d want to see:<p>* Getting nullability right, not making the &quot;billion dollar mistake&quot;. An integer shouldn&#x27;t be able to be &quot;null&quot; unless it&#x27;s part of the type.<p>* &quot;Algebraic&quot; (Sum and Product) data types. I love Typescript&#x27;s &quot;integer | null&quot; syntax, but Option&lt;int&gt; or something like that is fine, too. Typed structs&#x2F;records or tuples.<p>* Errors as values. Goes naturally with the ADTs, and it feels very robust having the compiler enforce handling all the &quot;Ok(..) | Err(..)&quot; results.<p>* Focus on the data, defining structs and functions that work with structs. &quot;Traits&quot; as a means of abstraction. Not much in the way of inheritance.<p>* A nice development experience with a good package manager or other way of finding and using open source code.<p>* Vibrant and growing community.<p>* Can develop comfortably on Mac, deploy to Linux. Windows support a &quot;nice to have&quot;.<p>Rust just nails all these things so well, it makes me want to use it even for things that don&#x27;t seem like a good fit to me, like command line tools or web servers or scripts.<p>Here are the languages I can think of that might work, but I think they all have some issues:<p>* Ocaml - Rust&#x27;s heritage, so it makes sense. But I feel like it&#x27;s been around forever and hasn&#x27;t really taken off. And doesn&#x27;t it still have some sort of concurrency issue?<p>* Swift - So close to the ideal language, but does it work well outside of the Mac ecosystem?<p>* F# - Conversely, another great language, but does it work well outside of Windows?<p>* Java - The last time I used Java in earnest (many, many years ago) it still had the nullability issue, and was too class&#x2F;inheritance focused for my tastes. I&#x27;m not sure if modern Java has improved on this yet.<p>* Typescript - Is this it? As a language, it actually ticks all the boxes, I think, which surprises me. But as a runtime it&#x27;s nonexistent, and so you have to compile to Javascript and run on node and all that. I use it and really like it on the frontend. But how is it on the backend for ordinary non-web applications? How&#x27;s its performance? It feels fiddly to get all the build stuff running, but maybe Deno or Bun is an option here.<p>* Nim - Kind of off the wall here, but it looks like it might actually be a contender from perusing its docs. But its community is pretty niche, and I don&#x27;t have a good sense on if its growing or not.
Upvote: