Rust advocacy at a medium-sized startup
Enthusiasm can be a problem.<p>You don&#x27;t really need Rust for server-side Web stuff. That&#x27;s what Go was designed for. Go comes with well-exercised libraries for most of the things people do web server side.<p>As I&#x27;ve mentioned before, I&#x27;m writing a metaverse client in Rust. Now that&#x27;s something for which Rust is worth the trouble. You need concurrency. A lot of tightly interlocked concurrency. If you want a large high-detail virtual world, you need to keep a half dozen CPUs, a multi-threadable GPU, and the network all quite busy. There&#x27;s a huge payoff in being able to do all that threading without spending time in a debugger. I&#x27;ve opened a debugger once in the last two years, and that was for a bug in someone else&#x27;s &quot;unsafe&quot; code.<p>The price of using Rust is that you hit bleeding edge problems. I just finished writing a basic internationalization package to translate menu items and such. That should be unnecessary at this late date. But it turns out that the basic &quot;internationalization&quot; crate is fundamentally flawed, and even its creator now says so. The crate most commonly used, &quot;fluent&quot;, is not suitable for use with the immediate-mode GUI used for games, &quot;egui&quot;, because you need lookup memoization for strings retrieved on every frame. A lot of time is wasted on side issues like this.<p>Many widely used Rust crates are still at version 0.x.x, and not really stable yet. The language and core tools are pretty solid now, but the crates are all volunteer and not well-curated.  The graphics systems I&#x27;m using, Rend3 and WGPU, are under heavy development, and not yet ready for prime time. I&#x27;m in regular contact with those dev groups.<p>There&#x27;s not much off the shelf code for metaverses yet. Unity and Unreal Engine don&#x27;t support metaverses yet, where the content comes from hundreds or thousands of people not working under common management. It&#x27;s not like picking one of a dozen widely used payment rail systems. So you&#x27;re going to have to do some serious development from a cold start. Rust is good for that.<p>For routine web development with short deadlines, Rust may be overkill or unsuitable.