Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

81% Positive

Analyzed from 4308 words in the discussion.

Trending Topics

#rust#code#tier#microsoft#language#more#don#memory#https#windows

Discussion (157 Comments)Read Original on HackerNews

meeritaabout 3 hours ago
Good news they adopted Rust as Tier-1 language. I hope their Weather app stop consuming more than 1GB RAM https://www.notebookcheck.net/Windows-11-s-built-in-Weather-...
Verdexabout 3 hours ago
I feel like the weather app makes a lot of sense from a corporate politics point of view.

A 1mb weather app would have a significantly less impressive pie chart associated with it come "here are our improvements" presentation.

Also if times get tough and you're told to reduce headcount by 10%, who do you want to get rid of. Sally who knows the USB driver end to end or Todd who wrote the bloated 1gb weather app. (Don't feel bad for Todd, he knew what he was getting himself into.)

ldobreabout 2 hours ago
Also, showing the weather is a great excuse to ask permissions for the user location.
swozeyabout 1 hour ago
I've been doing forest service stuff for a year with almost no signal and often no gps without antenna and it's incredible what asks for location permission to run. My amazon bought LEDs (15+, 3-5 diff types) all check location before I can connect them. I wind up waiting 30 seconds sometimes more to turn lights on. My generator and inverter have to phone home so that lags constantly.

Also I've been shadowbanned from a bunch of social media sites and had problems with payment systems, etc because Starlink confuses companies tracking user locations to geoips etc.

Won't even get into the apps that look downloaded and usable until you open them with no signal and they don't work before phoning home.

I've been meaning to go through ALL my apps and delete everything I don't use, I haven't installed a new app in years.

Then you have MacOS now that has the most "wtf" level permission prompts that make you think everything is phoning home or trying to access stuff on your network when it's just connecting bluetooth devices or something daily. I don't know how many games I've installed that now show up as having full screen or keyboard control permissions just to use input devices. I work on this stuff and can deduce what it's doing, especially after googling it, but "Stupidgame needs control of your system" is wild to someone who doesn't, I'm sure.

I've been wondering if it's almost nefarious that they want to get people used to allowing these seemingly system wide controls to be given to.. everything, by hiding the security-ok things behind a giant red flag warning.

Sorry went on a tangent. I miss specific permissions notifications I can trust.

edit: Oh, my "fix" for most of this is fakegps and mocking my android systemwide gps location to whatever, if you go through this.

Escapadoabout 3 hours ago
Did Todd just know or did his PO tell him to add telemetry tool number 24 while he was protesting and begged to be allowed to migrate to a newer rendering library but got shot down promptly because "KPI line must go up"? :)
xatttabout 2 hours ago
Todd was a script kiddie and never really knew what he was doing. He changed careers after the layoff and is now an owner of an electrical contracting business.
xystabout 1 hour ago
In this day and age, both Sally and Todd are expendable. Both have been silently training their replacement by feeding the data models.

Replaced by LLM and an offshore contractor. CaPiTaLiSm, right?

delta_p_delta_xabout 1 hour ago
Calling the Weather app an 'app' is doing all the Win32, WPF, WinForms and WinUI developers a huge disservice.

It is essentially an entire Chromium instance around msn.com/weather.

pjmlpabout 3 hours ago
The problem is the Webview2 prevalence, and note many Rust projects love their webviews as well.
onlyrealcuzzoabout 2 hours ago
That's less because of what it's implemented in - and more to do with all the tracking and libraries they want to reuse...

BigCo apps will take up lots of space and memory for BigCo reasons - obviously less if it's in Rust vs Go vs Python, but you could easily write Go apps that use far less memory than Rust apps written at BigCo due to BigCo reasons.

It's just not really that much of a priority for them to have their weather app use less than 1GB of memory. It's a far bigger priority for someone to insist that somebody else uses some bloated framework so they can get promoted.

isolayabout 2 hours ago
Whether vibecoded Rust will be better than whatever they are doing now remains to be seen.
hirvi744 minutes ago
I seriously do not think things could be any worse.
mr_00ff00about 2 hours ago
The question in terms of memory is, will vibe coded rust get around ownership issues by .clone()-ing everything.

Maybe this has changed since I wrote Rust, but that was a classic beginner fix. Just throw memory at it.

bluGillabout 2 hours ago
The other things I've seen beginners do is throw unsafe at everything.
JoshTriplett36 minutes ago
https://github.com/luser/keep-calm-and-call-clone

"Keep calm and call clone" is a good strategy for getting things working. Don't prematurely optimize code until you know it's the bottleneck.

geodelabout 3 hours ago
But Tier-1 app consuming Tier-1 RAM seems officially approved.
unixhero41 minutes ago
And that the calculator does not take 5 seconds to load
gregw2about 1 hour ago
Those interested in this may find the following articles of interest:

Microsoft goals [edit: err, Microsoft hiring manager vision-casting goal ] to convert 1 billion lines of code to rust by 2030 via automated tooling enabling "1 engineer, 1 month, 1 million lines of code": https://thenewstack.io/microsofts-bold-goal-replace-1b-lines...

DARPA work towards automating converting C code to Rust using a mix of 6 different teams using different approaches: https://www.darpa.mil/research/programs/translating-all-c-to... Feb 2026 Progress report: https://github.com/DARPA-TRACTOR-Program/Reports/blob/main/F...

jodrellblankabout 1 hour ago
That is not "Microsoft goals", that is "one employee's LinkedIn comment of his personal goal".
eterm34 minutes ago
There have also been repeated statements from NSA & CISA that they recommend all development should be done in memory safe languages.

It's abundantly clear that there is a strong headwind towards memory safety, whether that's Rust or GC'd languages.

estebank27 minutes ago
A headwind makes it harder to advance in the direction you're going. I think you might have meant to say "there is a strong tailwind towards memory safety".
eterm24 minutes ago
You're right, I better do a 360 on my comment ;)
burakemirabout 1 hour ago
It would be possible for me to give a more nuanced take, but the upshot is: none of that shit is going to work 100%.

One may get local maxima like an unsafe bonanza, or something that introduces a custom runtime memory management discipline at the cost of performance etc. Fully equivalent C++ to Rust in full generality is mainly wishful thinking. Of course that does not mean one should not try it.

See also my other comment.

gregw220 minutes ago
Oh, I 100% agree. The question is how much you can reduce the effort of the port/migration, and in particular the validation effort.

I've worked on projects where the core bits of code were "90%" converted by some automated tool, and in my view the overall benefit to the project timeline was probably only 20-30% because of the Amdahl's-law-type overheads of validation and bits of code not supported by the automation/conversion process. Nice, but no silver bullet.

Non-idiomatic porting also isn't super-helpful if the resulting code isn't maintainable.

devy10 minutes ago
This makes strategic sense in multiple ways:

1. Rust's memory safety design will help Microsoft improve a gigantic portfolios of products that have been known to have lots of CVEs and 70% of them are memory safety issues, according to Azure CTO Mark Russinovich's talk at RustCon last year.[1]

2. Windows 11's forceful push to retire millions of legacy PC hardware by putting Windows 10 EOL last October was absurd for millions of consumers and businesses. I was literrally helping a S&B having to replace the entire fleet of working PCs simply because Windows 10 of EOL and Windows 11 refused to run on those legacy hardware. Quite honestly those PCs ran just fine! That's why some has been migrated to Linux, in particular to Google's ChromeOS Flex.[2]

3. RAM shortage due to AI boom exhausted the memory chip manufacturers' production pipepline for at least the next 5 years. This means the mainstream PCs sold today will actually have a diminishing RAM size configurations than last year's in order for the PC manufacturers to not drastically raise the product price (or raise prices drastically for high RAM configurations like Apple does). This requires the Windows 11 operating system to be more conservative about RAM usage, Rust can be a part of that.

[1] https://www.youtube.com/watch?v=uDtMuS7BExE

[2] https://chromeos.google/products/chromeos-flex/

i2talics21 minutes ago
I hope announcements like this show that Rust is not a fledgling little language that moves fast and breaks things anymore. It's a mature, serious competitor to well established languages like C++ and C#. This is particularly important when trying to compare the experience of using Rust to other languages in the "better C/C++" space like Zig and Odin -- these are much newer and have more rough edges than Rust.
pjmlpabout 3 hours ago
This is very big news, all major OS vendors that also have a role in C and C++ language tooling, now have diversified their options in systems programming languages for greenfield development.

Additionally we finally get some public news about the MSVC integration rumors regarding Rust.

ghostly_sabout 2 hours ago
Are you thinking this augurs more interoperability features in C?
pjmlpabout 2 hours ago
Why should it?

COM and WinRT (basically COM Next) are the way to do cross language Interoperability in Windows since VB 5 replaced VBX with OCX, it was a key feature in .NET Framework design, and revamped on Windows 8, when WinRT was introduced as the original design for .NET (Ext-VOS).

https://arstechnica.com/features/2012/10/windows-8-and-winrt...

See windows-rs crate.

pornelabout 3 hours ago
The big news here is they've replaced LLVM with MSVC's backend.
bryanlarsenabout 2 hours ago
This is from rustconf. A lot of the focus at Rustconf this year has been C++ interop, Python Interop, Javascript interop -- it's no longer about "rewrite it in rust", it's about being part of the ecosystem.
bluGillabout 1 hour ago
Good. As a C+++ programmer Rust has some things that intrigue me. However I have no desire to rewrite everything in rust and so interoperability has been what is holding me back.

We rewrote everything a few years back, completing in 2014 (Rust 1.0 came in 2015) - it costs nearly a billion dollars! I cannot in good conscience go back to management and ask for another billion dollars to rewrite again (Rust might be more productive, but inflation will eat that up, so I expect a rewrite to be more expensive). If Rust can work with my existing code though - I know of a number of small places where there is reason to rewrite anyway because the code is bad (or sometimes was good but not nicely flexible for the features we have added since).

petilonabout 3 hours ago
If it is a tier-1 language why isn't it supported in Visual Studio?
brunoborgesabout 3 hours ago
Because it takes time. Even with coding agents, to add the capability. Then, there is the question on whether Rust developers who like to engage with Microsoft tools, would really consider Visual Studio as their IDE, instead of something like VS Code, VS Code Agent Mode, GitHub Copilot App, or GitHub Copilot CLI with simpler editors.

I'd be curious to know whether Rust developers believe Visual Studio is the right place for Microsoft to invest Rust specific coding capabilities.

pdpiabout 2 hours ago
There's two ways to approach this — build tooling for existing Rust developers to get them to adopt the Microsoft stack, or build tooling for existing Microsoft stack developers to get them to adopt Rust.

I'd argue that the former is less important than the latter, and my understanding is that Visual Studio is still the IDE for Windows-centric development, so for those MS-first developers, Rust missing from VS means Rust is poorly supported, end of story.

isolayabout 2 hours ago
It would have to be the 2nd option. Who in their right mind would voluntarily choose Windows as their dev env? It will have to be those who are already there.
not_a9about 3 hours ago
Visual Studio does have a really nice C++ debugger - one would imagine the C++ debugging capabilities should translate to Rust.
germandiagoabout 2 hours ago
> Even with coding agents

Because of coding agents? :D

eterm27 minutes ago
Given how long it took visual studio to get 64bit support, I wouldn't hold your breath!

( Edit: I should probably inform the layperson: It was Visual Studio 2022 )

afdbcreidabout 2 hours ago
It is, with extensions (using rust-analyzer of course). I don't know what's the status inside Microsoft.
cwbrandsmaabout 2 hours ago
Because it is already supported in VS Code.

I don't think this is a hot take, but I'm predicting Microsoft will gradually phase out Visual Studio in favor of VS Code.

CodeCompostabout 2 hours ago
Agreed but I think you need to pry Visual Studio from VB.NET developers' cold dead hands.
neutronicusabout 1 hour ago
C++ developers, too. I suppose they're splitting out the real powerful stuff (Debugger, LSP) for VSCode's consumption.
ComputerGuruabout 3 hours ago
So when will we get tier 1 debugging support in Visual Studio?
flohofwoeabout 3 hours ago
Optimistic to assume that modern day programmers even know what a debugger is, or if they do, consider it as anything else than some weird ancient shibboleth only used by the greybeards ;)
bluGillabout 3 hours ago
The greybeards rarely used debuggers, and then only to see the stack trace of a core file. They found printf better.

I can't find my copy of https://en.wikipedia.org/wiki/The_Practice_of_Programming but that is what I recall it says. Those authors are the best known greybeards.

Levitatingabout 3 hours ago
To be fair, even before LLMs could spot my bugs in an instant I really only regularly used debuggers in C because it can't display arbitrary types in debug print statements.
josephgabout 3 hours ago
Debuggers still have their place in algorithm heavy work, or to pull apart heap dumps to try and figure out obscure bugs.

Even LLMs use debuggers. I asked Claude to reverse engineer a closed source binary the other day. It used gdb to trace its behaviour. Didn’t even use ghidra.

rafaelmnabout 3 hours ago
Debugger MCP better
josephgabout 3 hours ago
But of a tangent but I think cognitive skills are starting to become like physical skills. If we don’t move our bodies, we waste away physically. If we don’t do hard cognitive work sometimes - like writing and debugging code - I worry our minds will atrophy.

I don’t have a problem with cars. But walking is still good for us.

a012about 3 hours ago
It’s all /skills now
pjmlpabout 3 hours ago
You have it already on VSCode, which isn't quite the same, however nowadays it is an open question which one is more relevant for Microsoft's management, especially given that VS isn't cross platform (see Azure), and is stuck with WPF/.NET Framework.
mrecabout 3 hours ago
I'd also love to see MS sponsoring Windows support for a modern linker like mold or wild.
delta_p_delta_xabout 3 hours ago
lld-link is already a big step up from link.exe. Although the latter has incremental linking, which none of the Unix-like linkers have.
jcelerierabout 1 hour ago
to be fair mold or wild's full link is a few hundred times faster than a link.exe incremental relink
jeroenhdabout 1 hour ago
println!() already works, who needs more than that?

Kidding aside, VS Code has excellent debugging support already. Unless you need to share your Rust code base with a legacy C/C++ code base, I don't think VS is the best environment for Rust programming.

There are good use cases for staying within full-fat VS's capability set (drivers, among other things), but I don't think Microsoft needs to add Rust to VS in this much of a hurry.

dethswatchabout 2 hours ago
RustRover, my friend.
js8about 3 hours ago
Is Microsoft still trying to embrace, extend, extinguish Netscape after all those years? :-)
layer8about 3 hours ago
You’ll know when they publish Visual R++ or Rust.NET.
paulluukabout 3 hours ago
Don't forget about R#
layer8about 3 hours ago
I was originally going to write that, but R# already exists: https://rsharp.net/ (based on https://www.r-project.org/)
SSLyabout 2 hours ago
you jest but F# already does the ocamlness of Rust, no? and you don't need a borrow checker.
layer8about 2 hours ago
For tracking ownership of non-memory resources you still need something like that.
boredatomsabout 3 hours ago
I guess we should watch for contributions to Servo
swiftcoderabout 3 hours ago
I guess the big question is whether they are going to open up rustc_codegen_utc for use outside of Microsoft?
afdbcreidabout 2 hours ago
They responded in the Zulip threads that yes, this is the plan, although they don't know if and what things will be open-source yet.
Advertisement
rererereferred40 minutes ago
But which GUI toolkit will they use for all their new rust applications?
e4m2about 2 hours ago
From the linked Zulip thread (https://rust-lang.zulipchat.com/#narrow/channel/131828-t-com...):

> We are running different workloads including rustc perf suite. In general the runtime performance is on par with llvm.

Not what I would've expected!

ellyaggabout 1 hour ago
While literally true, the phrasing of this title will certainly and (IMO) purposefully confuse some headline scanners vs: “Rust Is a Tier-1 Language at Microsoft”.
Suracabout 2 hours ago
I remember an other 1 tier language ms once had. Anyone remember Visual-J? On the other hand if we could code in rust and get windows.forms as a ui it might make sense. MS is burning UI layer faster than one can train on
axusabout 1 hour ago
I love how World of Warcraft "gear tier" jargon has expanded into the rest of the world. Pre-Y2K, the pseudo-formal usage of "tier-N" wasn't widespread in the US.
_joelabout 3 hours ago
Site down, maybe they need port it to use Rust...

They use wordpress

seki285about 3 hours ago
What is wrong with wordpress exactly?
bluGillabout 3 hours ago
there are a lot of really bad plugins that are used. Also there are a lot of really bad admins who have out of date versions that are misconfigured.
mcmcmcabout 3 hours ago
Matt Mullenweg
jcelerierabout 1 hour ago
wordpress
echelonabout 3 hours ago
A lot of infrastructure is going to be ported to Rust.

It's fantastic for websites and servers, and LLMs are very good at generating it.

The primary downside of Rust is the long compile times, especially with macros (serde, etc.) If that can be fixed, it will be sublime.

tonyedgecombeabout 3 hours ago
I like Rust a lot but I'm not sure it would come very high up my list for web applications.
echelonabout 2 hours ago
Axum and Actix are phenomenal web frameworks.

The type system and error handling ergonomics make it easier to write defect-free code than, say, Go or Java.

Simple servers are request scoped and mostly feature linear request handling, so you're writing simple vanilla Rust without the complex pointer semantics that you would use for systems programming. The async pieces aren't difficult either.

Serde-annotated structs are the best serialization/deserialization story anywhere. It integrates super ergonomically into Axum and Actix to make writing request handlers a breeze. They're super easy to read, too.

edukiteabout 3 hours ago
First compile. Every another will be significantly faster since compiler is incremental
KingOfCodersabout 2 hours ago
Fable migrated a Go/Wails project for me to Rust/GPUI and it's so much faster, there is the possibility of Rust to gobble up many more projects.
HPsquaredabout 1 hour ago
Visual Rust sounds like a defect but I'm looking forward to it.
macleginnabout 3 hours ago
The text is mostly about rustc_codegen_utc; maybe this should be reflected in the title?

Also the use of italics there is rather jarring.

m3kw916 minutes ago
Good, C# is one of the worst languages there is, hopefully they turn it in to tier 18
Advertisement
Colegnoabout 2 hours ago
Being technically approved by Microsoft is not a proof of quality...
afdbcreidabout 2 hours ago
It could as well be the opposite, but Rust does not need a proof of quality today, certainly not from Microsoft. Still, becoming Tier 1 in major trillion-dollar corporations (Microsoft, Meta, Amazon, and I know Google also has efforts in that direction) is something.
larodiabout 3 hours ago
ermm... which are the rust-native libs which enable winrt3.0 native apps?
DidntUseItabout 3 hours ago
Link doesn’t work.

What’s a Tier 1 language?

gshubert17about 3 hours ago
(Link worked for me ...)

This “Tier-1 language” engineering status for Rust means giving internal teams a paved path from local development to production: secure toolchain builds, productive developer tooling, quality workflows, deep platform integration, and compliance with the SDL requirements Microsoft software must meet.

swiftcoderabout 3 hours ago
Specifically, it joins a list of existing Tier 1 languages (C++, C#, and TypeScript), as "one of the best-supported languages for internal development at Microsoft"
meindnochabout 3 hours ago
Tier 1 is the summit of summits - the summum bonum of languages, the highest order to which a language can aspire. Very few ever attain it. Non multa, sed multum: not many, but only those of extraordinary quality. Most languages remain forever in Tier 3, never passing beyond its gates. Of these, scarcely 1% ascend to Tier 2. And from that already distinguished company, a mere 0.1% possess the refinement, depth, and excellence required to cross the final threshold into Tier 1.

Consider what that means: Tier 1 represents roughly the top 0.001% of languages. Pauci sed electi - few, but chosen. The crème de la crème. The aristocracy of languages. Primus inter pares, yet standing at the very edge of what programming language greatness can be.

Ad astra per aspera. Through hardship, to the stars. Tier 1 is not merely another rank: it is the ultima Thule, the farthest frontier, the crown, the apotheosis.

DidntUseItabout 3 hours ago
The answer I deserved!
flohofwoeabout 3 hours ago
It means it's about as good as C++ ;)
afdbcreidabout 2 hours ago
Yes, about as good as a language that is 40 years old, and was also (like Rust) 10 years old when becoming Tier 1 inside Microsoft, while there were far less alternatives.

Seems pretty good to me ;)

(I know you're joking).

aynycabout 2 hours ago
It means a language for the very elite special force unit. In MSFT, that means the Ads teams will be able to serve you Ads in excel very quickly. /s
mgaunardabout 3 hours ago
does it mean there is a rust.net?
dralleyabout 3 hours ago
There is a rustc_codegen_clr which transpiles to .NET

https://github.com/fractalfir/rustc_codegen_clr

mgaunardabout 3 hours ago
> This project is still early in its developement. Bugs, crashes and miscompilations are expected. DO NOT USE IT FOR ANYTHING SERIOUS.

how can one claim it is tier-1?

Also random student, nothing official from Microsoft.

debugnikabout 1 hour ago
We thought your Rust.NET comment was somewhat in jest. No, Microsoft isn't porting Rust to .NET, they barely try to support anything other than C# on it nowadays, but the article mentions an internal adapter for MSVC codegen.

The project linked above has been posted to HN in the past a few times though.

pali6about 2 hours ago
That project is not in any direct way related to Microsoft
DidntUseItabout 3 hours ago
Just had a PTSD flashback...

The year was 2002, VB6 had just been retired for VB.NET which had 0 backward compatibility.

And then we all became Flash/AS3 developers.

The End

adikshatriyagabout 1 hour ago
crazy i like that
superkuhabout 1 hour ago
I hope this kind of thing means Rust stops making so many rapid breaking changes in th compiler. I've tried it twice, once in early 2021 once 2025. Both times I tried to compile a few random projects I found on the web, stuff like a wordpress fanfic scraper, a software defined radio program, etc.

In 2021 my linux distro I was using had just been released 3 months prior but it's rustc already could not compile 2 of 3 projects due to the use of new features added to rustc in those 3 months. In the SDR case I knew the author and he was able to re-write it in more general rust code and it worked great. In 2025 my linux distro had been out for a couple years. None of the rust projects I tried would compile with my rustc.

Rust, in the past, seemed a very bleeding edge, move fast and break things community. I hope that with more people using it in more places the demographics change and people won't always target latest and greatest. A lifetime for the compiler of at least a few years would make it a very useable language. Adoption at microsoft might help this.

0x45731 minutes ago
You can compile any old code with newer rustc as long as old project does not use unstable features that have changed/went away. What are you on? I recently recompiled project from 2015 with latest stable rust just fine.

All breaking changesin rust done via editions and you can mix-and-match editions.

estebank19 minutes ago
I suspect GP is using system rustc to build random projects off of github and doesn't use one of the distros that actually updates rustc, like Fedora, SuSE or Arch.

Then the conversation is about forward compatibility, whether developers should wait X amount of time before using new std APIs or features, and whether the ease of using rustup and project expectation of it being accessible is reasonable or not.

i2talics25 minutes ago
It sounds like you are not running into breaking changes, you are just running into projects that like to use new features that are not available in your older compiler.
FrustratedMonkyabout 2 hours ago
As much as I like Rust. Still sad that F# didn't get this much support from their own mother.
this_userabout 2 hours ago
Now their broken slop code is at least memory safe.
mtgh2sabout 3 hours ago
You gotta have balls or be receiving tons of money to publicly celebrate the sloppiest software company of the decade making your programming language Tier 1 internally.
nazgulsenpaiabout 2 hours ago
Probably the fact they're a $3.7tn company has something to do with it.
calvbakabout 3 hours ago
This is great! Hope this trend will continue in the future; using a memory-safe language should be a top priority imo in context of the coming rogue AI swarms.
Advertisement
the__alchemistabout 3 hours ago
With certain rough edges like complex traits and Async aside, rust is an S-tier lang in several domains. Of interest:

  - Embedded
  - PC desktop applications
  - Computationally-intense scientific programming. (Chem, structural bio etc)
  - OSes, drivers etc
  - High-performance tasks in general. CPU, GPU, etc.
It's not a memory-safety one-trick pony; it's a well-rounded lang which has learned from its predecessors.
jdcasaleabout 3 hours ago
Yeah I'd written some rust ~ 10 years ago when the language was very different and that led me to believe that it was a 'great within it's niche' sort of thing for a long time, but after spending the last couple of years with it as a daily driver I think it's a pretty great general-purpose language.

The one really common gotcha with rust is that when trying to write concurrent code, newbies tend to throw Arc<RwLock<T>> goo around everywhere, and they end up with the world's shittiest garbage collector.

germandiagoabout 2 hours ago
Give me something like boost.multiindex for Rust, and maybe I could think of trying some experiments.

I think C++ is an excellent choice due to its volubility actually. Bc when I want safety, I mostly have it (but I have done a lot of C++, admittedly).

m00dyabout 3 hours ago
yeah, locks are expensive.
the__alchemistabout 3 hours ago
It is interesting to see the different patterns used due to different cases and tastes. For example, my concurrency patterns rarely use locks, and are instead usually one of:

  - Dedicated hardware via DMA, multiple cores/MCUs etc
  - Thread pools (e.g rayon)
  - GPU
  - SIMD
  - Atomics
  - Interrupts and their ISRs
  - Event loops
  - std::sync Thread and MPSC (My Std rust default for not blocking the GUI etc)
surajrmalabout 2 hours ago
Most of it comes down to avoiding shared data. Unfortunately it requires forethought to do that well. There are also many cases where you do want to share data for optimal performance as other options are ultimately too heavyweight.

Also worth noting that an event loop by itself doesn't give you serialization by itself, it can just allow you to gain concurrency without parallelism. You still need some form of serialization by way of something like actors (or async locks).

Verdexabout 3 hours ago
Yeah, I primarily use rust because it's got algebraic data types, pattern matching, and cargo.

If ocaml had a cargo like experience, then I would migrate there.

saghmabout 2 hours ago
I've said for a while that the main reason Rust is so popular is that it has a lot of effort put into the developer experience, with the low-level safety honestly not being all that important to a large portion of the programmers who would be fine with a garbage collector. I used to think that maybe a "Rust with garbage collector" would come along, but at this point it honestly seems more likely that an optional garbage collector would be added to Rust (probably with just the primitives in std and leaving it up to libraries to provide a more full experience, like with async runtimes).
Suracabout 2 hours ago
a rust with gc is already available. it is called c# and runs on all os nowerdays
mgaunardabout 3 hours ago
All those applications area sensitive to asynchronous programming.
okanatabout 3 hours ago
Rust's async can be very lightweight depending on the runtime implementation. tokio and embassy are both runtimes but former is a throughput-optimized heavily multi-threaded while latter is a simple cooperative multitasking for embedded. We use both at my day job. Even 64k flash and 16k ram is enough for embassy.
bigfishrunningabout 3 hours ago
Honestly, the only domains that I think rust isn't suitable for are:

* rapid-prototyping, where javascript and python are still top-tier

* adding scriptability to existing programs, where lua and scheme (and python) are popular

* Server-side API implementation (rust is usable here, but I think Go fits the slot better)

vablingsabout 2 hours ago
Rapid prototyping is almost a meme at this point. If you are hand rolling code old school, you will waste more time shoehorning JavaScript and python semantics into rust code and end up with worse quality that takes more time rather than writing it from rust.

People did this a lot when rust was not as popular but there are plenty of very good rust programmers now who understand the language and can make programs that are significantly more performance for a marginal development cost.

Script ability can also be done in rust, Notably Zed (rust ide/vscode whatevers) is written in rust, and all the plugins are compiled to WASM, sandboxed and loaded.

Go is pretty nice for server-side API but if your application share types between boundries then rust is better

germandiagoabout 2 hours ago
> Rapid prototyping is almost a meme at this point

> People did this a lot when rust was not as popular but there are plenty of very good rust programmers now who understand the language and can make programs that are significantly more performance for a marginal development cost.

Why isn't the game industry moving to it then? Bc it just cannot compete at volubility with C++, among other things. Yes, you can have skilled people, but the borrow checker is still there and that is an anti-change-me-fast fact of life. I think things like sending batches of info to the GPU in casted ways, alignment, etc. all go against safety naturally but this is fundamentally what needs to be done anyway when transfering data to the GPU, so adding a layer of safety for the sake of doing it to notice that your data-oriented pipeline has to suddenly change its shape would mean repeating work...

Namely, Rust is just not good at this. Rust is good if you can replicate a safe layer that is very reusable every time (when interacting with unsafe) or when you do not need unsafe at all or hardly, where you can take advantage of its safety fully.

Also, there are certain very tweaked data structures such as Boost.MultiIndex or linked lists with intrusive hooks and others that are not easy at all in Rust and they do have value in some situations. I had some of this in some telecommunication systems before.

Pannoniae32 minutes ago
No, rapid development is essential when you're making games. It's not a "solved science", sure you can code something up and slap some programmer art on it then ship it but you very well know that won't be usable. You need to iterate on the gameplay and gamefeel a lot if you want something more than slop.

One way is sure the native language + embedded scripting language combo but that's got the trap of impedance mismatch i.e. you spend all your time making engine not game then it overruns. But in any case having a way to iterate fast is a hidden productivity superpower, look at how many game studios have Live++ licences on their webpage;)

bryanlarsenabout 2 hours ago
Rust is great for rapid protoyping, IMO. Or, at least the subset of rapid prototyping that involves massive rewrites to try out different approaches. Rust has a saying "if it compiles, it works", the compiler really ensures that you don't miss something when doing that rewrite.
germandiagoabout 2 hours ago
> Rust is great for rapid protoyping, IMO

If you have to iterate a lot the shape of your code... no, it is not any good at this...

edukiteabout 3 hours ago
My employer company go through JavaScript, Java, Golang and at the end landed on Rust for srver side and don't want to change anything. Everything is Rust now, regardless of traffic.

I don't know why you think it's only usable but this is your right.

bigfishrunningabout 2 hours ago
I do think rust works there (as you clearly know), i just like Go's ergonomics for that exact task better, that's all.
larmeabout 2 hours ago
GPU programming?
the__alchemistabout 2 hours ago
Rust is great for GPU programming, or at least for writing the Host (CPU) side without friction. WGPU or FFI-based Vulkan etc bindings for graphics. Cudarc + normal Cuda kernels for general purpose compute. I bring these up as they're easy-to-use and mature.
bigfishrunningabout 2 hours ago
Yeah, you're still stuck with DSL's there, but not for lack of trying https://github.com/NVlabs/cuda-oxide
mookabout 2 hours ago
Oh, its good at doing desktop applications these days? Which GUI libraries are good these days? Some native win32 binding? Are there good equivalents for Qt?

I'm interested in getting back to native application development; the job is on Electron right now and it's… meh.

varjagabout 3 hours ago
Calculate ackermann(4,4), make no mistakes.
VimEscapeArtistabout 2 hours ago
M$ choosing Rust might be the strongest argument for picking Go instead
germandiagoabout 2 hours ago
They strike different balances.

Rust is absolute performance, similar to C++. Go is deliver fast and get a very good performance to effort ratio.