Earlier quoted context omitted.
I've been having _a lot of fun_ writing Go apps that don't allocate anything and that use small, preallocated buffers to stream through requests/etc. Basically TigerStyle for Go. I don't use arenas, I just size everything for the worst case (or make the sizes configurable at startup) and still end up using much less memory. This is really only possible because I told Fable to build the underlying allocation-free HTTP…
Have you considered doing this in OCaml? You'd get most of the benefits of Go and Rust.
Rust is tier-1 language at Microsoft
511–520 of 521 posts
Re: Rust is tier-1 language at Microsoft
#512Earlier quoted context omitted.
The CLR is the reason most C# games are moddable.
For a definition of moddable that boils down to "download random executable blobs from some anonymous Discord and let them completely loose on your device". With predictable consequences. [0] Whereas Bethesda and Paradox (mainline strategy) games are examples of games that are intentionally moddable, with Cpp cores wrapping sanely defined content sandboxes. Frankly I'd rather the C# style of modding didn't exist at a…
Bethesda is not a very good counter-example, in my opinion, because they regularly** break mod support. I don't know enough about how these mods work to be sure, but given that the 32-bit to 64-bit transition was one such major breaking event, I am suspicious that they are not actually effectively sandboxed. I also don't play many Paradox games (and the one I did play a lot of, Cities Skylines, is a special case, and also a Unity/C# game), so I don't know how they do things.
The best example I know of for strong, sandboxed, first-party mod support would be Factorio and its Lua mods. However, these mods are constrained to doing only those things the game developers anticipate and want to allow, which means every mod for Factorio produces a very Factorio-flavored experience, though AFAIK there are some extension points in the API which are only really used by mods (or were, at least, before the Space Age expansion).
The biggest downside of C# (and Java) mods is indeed security, but the biggest upside is that a lot of games can add modding support without too much extra work. Such extra work is often not possible (they don't own the engine) or unlikely to happen (they don't have the time/budget), outside of special cases.
* = Whatever else you might think of Nexus Mods and its policies and drama, they generally take malware seriously
** = Roughly every 3-4 years, which means it's happened like 4 times with Skyrim, and one of those was so major that it completely split the mod ecosystem
Re: Rust is tier-1 language at Microsoft
#513Earlier quoted context omitted.
I've been having _a lot of fun_ writing Go apps that don't allocate anything and that use small, preallocated buffers to stream through requests/etc. Basically TigerStyle for Go. I don't use arenas, I just size everything for the worst case (or make the sizes configurable at startup) and still end up using much less memory. This is really only possible because I told Fable to build the underlying allocation-free HTTP…
> This has also been a lot less effort than writing Rust I have never written such Go, but as an experienced Rust programmer I can tell you Rust is not hard to write after learning it. Learning it can take more time than usual (although there is also contrary evidence, e.g. from Google) but after you're used to it, you're basically as proficient as in other languages, except some glitches (that can be expensive - rew…
I don't mind writing Rust (have been dabbling with it since ~2014), especially with some AI assistance. It's just more of a grind for me than working with Go.
> Considering the effort involved in coding in such unnatural Go variant,
I was also expecting writing Go in this style to be more friction, but it was surprisingly smooth. The friction was entirely from lack of libraries and a little uncertainty about how to communicate errors without allocating. Rust has better libraries by far, but I felt more friction from the language (e.g., if you have a buffer you have to initialize every element of it or you have to use something like `heapless::Vec`--not a big deal, just decisions to make to figure out what the happy path is).
Re: Rust is tier-1 language at Microsoft
#514Earlier quoted context omitted.
If the app doesn't have any sensitive information, then yes. We already do this with home screen widgets today, so clearly there's no real barrier.
Apps can have vulnerabilities (intentional or not). It's a contrived example, but maybe some weather app has a custom icon feature, which means you can then browse photos by opening it on the lock screen and going to that setting.
Re: Rust is tier-1 language at Microsoft
#515Re: Rust is tier-1 language at Microsoft
#516Earlier quoted context omitted.
That is not "Microsoft goals", that is "one employee's LinkedIn comment of his personal goal".
what's your point?
(that isn't what you said? what's your point?)
Re: Rust is tier-1 language at Microsoft
#517Earlier quoted context omitted.
Apps can have vulnerabilities (intentional or not). It's a contrived example, but maybe some weather app has a custom icon feature, which means you can then browse photos by opening it on the lock screen and going to that setting.
Widgets can't have vulnerabilities?
Re: Rust is tier-1 language at Microsoft
#518Re: Rust is tier-1 language at Microsoft
#519Earlier quoted context omitted.
You're right, though I'm not sure about all modern software quite to that extent. VS does have a reputation for being bloated. Even startup is not super fast IMO. I checked just now. A recent Delphi with a project open: 175-200MB. Water (our IDE, I work at RemObjects) about 300MB.
Sure, and the performance improvements across VS 2026 releases prove that it could be much better.
Re: Rust is tier-1 language at Microsoft
#520Earlier quoted context omitted.
I know, haha. It's a bit of an absolute statement but as far as all of the features I look for in the context of creating scalable and maintainable software (especially in the age of agent-assisted coding) - Rust has been the most productive, least frustrating language I have worked with. It's basically TypeScript but runtime exceptions are impossible. If it compiles, it works - so the _only_ thing you worry about is…
This is giving real "if all you have is a hammer" vibes. I also have years of experience with Rust, but I moved off Rust a few years back simply because I'm sick of the anemic stdlib and lack of mature ecosystem around anything even one inch off the beaten path. Cargo is a shitshow and Rust forces you into an npm-like experience for a whole bunch of functionality that ought to be included in the box. You're juggling…
That'd be a dream to me.