Rendered at 20:56:01 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
gregw2 4 hours 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...
That is not "Microsoft goals", that is "one employee's LinkedIn comment of his personal goal".
mkehrt 2 hours ago [-]
It's less one guy's plan and more one Microsoft Research team's research goal to investigate technologies that might enable that in a few years. So probably more institutional support than just some guy, but less actually planning on succeeding in the full ambitious goal.
afdbcreid 51 minutes ago [-]
No, after this made some waves he or some other senior (I don't remember exactly) reported that this is not an official plan.
eterm 4 hours 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.
jandrewrogers 10 minutes ago [-]
The recommendation is qualified for typical apps that do not have extreme performance or scale requirements. They use Java for many, many things.
C++ is still indicated for systems that are optimizing for performance and scalability characteristics, since it intrinsically requires a lot of "unsafe" constructs.
estebank 4 hours 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".
odo1242 1 minutes ago [-]
> A headwind makes it harder to advance in the direction you're going
nit: except in aviation
eterm 4 hours ago [-]
You're right, I better do a 360 on my comment ;)
foolswisdom 3 hours ago [-]
A 180 might be more useful :)
burakemir 4 hours 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.
gregw2 4 hours 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.
mkehrt 2 hours ago [-]
As I pointed out in a sibling comment, the plan isn't for it to work. This is a job posting for a researcher at MSR to investigate what it might look like someday.
blub 48 minutes ago [-]
These kinds of sanitized corporate, feel-good articles are anything but interesting.
A disgruntled former Azure employee posting what a clusterfuck their SW, including their Rust effort is? That’s both rare and interesting.
i2talics 4 hours 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.
tialaramex 3 hours ago [-]
Rust 1.0 was in 2015. Most of these languages you're thinking of out of the Handmade Community didn't even start development until around the point Rust 1.0 shipped.
In theory Odin 2027, the 1.0 release of Bill's Odin language, is scheduled for, as the name suggests, early 2027. Zig does not have an announced 1.0 schedule, and who knows for the other two famous Handmade languages.
From the rash of "C++ successor" languages a few years ago, Carbon is still being worked on, Herb Sutter's "Cpp2" seems dead or at least in a coma, Hylo is probably also in a coma, it has several "Write this text" type blog posts, dated 2025 for example...
ryukoposting 1 hours ago [-]
As an embedded dev, it still feels a decade away, at least. Rust is perfectly usable as a lang to make a little module that links into your main project as a .a file. But, as the language for your whole embedded codebase? Forget it. I have a litany of complaints including Cargo fuckery, ecosystem neglect, lack of first-party support, excessive code size, bad documentation, and bad IR that wastes stack by creating copies on immutable moves.
Don't get me wrong, Rust is lightyears ahead of any other alleged C/C++ successor. But I work in a space where C and C++ have been the only option for the last 30 years with absolutely no production-ready alternative. It looks like that won't be changing anytime soon, which is disappointing.
afdbcreid 49 minutes ago [-]
Rust is already used in production for embedded (although only here and there). Not all places are ready, but I don't believe it's a decade away anymore.
pjmlp 1 hours ago [-]
From what I could understand regarding Sean Parent's last interview at ADSP, Hylo is most likely not happening at all, given the raise of AI tooling, with Dave Abrahams re-focusing into non-computing related work going forward,
Google is still quite keen in having Carbon, for the purpose of migrating existing C++ codebases, for new code there is Rust, Go, Kotlin, Java, Swift and co.
"Carbon: graduating from the experiment - NDC Toronto 2026"
To Odin's credit, it is used for production software that _isn't_ a toy (by the language's own authors). It is probably 1.0 quality already.
afdbcreid 2 hours ago [-]
Zig too. But this is far from being mainstream. Rust took around 5 years I think to become accepted in major companies, and those languages are harder to justify.
hiccuphippo 2 hours ago [-]
> other two famous Handmade languages
Jai and... C3? FilC?
stusmall 1 hours ago [-]
>I hope announcements like this show that Rust is not a fledgling little language that moves fast and breaks things anymore
I see this on here a lot on this site, but Rust hasn't been that in over a decade. Rust's devotion to post 1.0 stability is massive and has involved some interesting design choices. I started writing run in 2015(?) and only hit one breaking change in the language. It was a niche bug in a macro that was fixed later in a later release.
Just watching hackernews you see lots of news about it, but these are additive and not breaking things. I was still writing lots of mio-style async code after async await was out. You don't have to adapt new style or libraries. I used to have a joke that you could tell a codebase's age based on the error handling libraries used, but even with that it was additive. Often multiple would exist in different parts of the same code base. "Oh wow, I've gone deep on this refactor.... I'm starting to see error_chain"
nicoburns 1 hours ago [-]
Indeed, unless you're using Safari, you're almost certainly using Rust code to read this webpage.
afdbcreid 47 minutes ago [-]
Allegedly, there is Rust in macOS (but maybe not in iOS), so maybe it's true even if you're using Safari.
Havoc 3 hours ago [-]
For me it was the inclusion in the kernel. That locks it in as here to stay
stillpointlab 2 hours ago [-]
I thought it got pushed back out? Wasn't there a big drama about this and Linus weighed in?
Linus is a wise operator at this point. I often see him come in like a hammer to bash down squabbling, but then he allows the situation to evolve once things quiet down. I only saw the hammer so I'm not sure what the current state is now.
Mond_ 2 hours ago [-]
Where did you hear that it got pushed back out? It's going strong as far as I can tell.
stillpointlab 2 hours ago [-]
I was thinking of the public clash in 2025 between Christoph Hellwig which lead to the resignation of Hector Martin, lead of the Asahi Linux project.
I think what Linus pushed back on was specifically "social media brigading" as a solution to internal issues: https://lkml.org/lkml/2025/2/6/1292
2 hours ago [-]
grougnax 60 minutes ago [-]
[dead]
pjmlp 7 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_s 5 hours ago [-]
Are you thinking this augurs more interoperability features in C?
pjmlp 5 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).
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.
I'm quite skeptical of rust usage leading to anything that helps consumers. Microsoft managed to add arbitrary code execution to Notepad. And it all points to a total disregard of the end-user, not lack of talent or capacity.
pornel 6 hours ago [-]
The big news here is they've replaced LLVM with MSVC's backend.
booi 3 hours ago [-]
I'm sure that's a requirement for being a "Tier-1" language.
abbefaria27 2 hours ago [-]
What’s the story for Rust-C++ interoperability these days? That’s what kills adoption. Most C++ devs I know like the idea of Rust, but no one is going to go rewrite 30 years of working code. It needs to be something you can incorporate gradually.
afdbcreid 2 hours ago [-]
There's an interop initiative by the Rust Foundation, there is a project goal to map the problem space, there was an effort to introduce an attribute (`#[rustc_splat]`) to allow calling overloaded functions, and there are various community-generated tools for more or less automated bindings generation.
nicoburns 1 hours ago [-]
There's a huge push for this from the big companies adopting Rust. Google has been developing https://github.com/google/crubit. The older cbdingen is still usable if more limited (it's what Firefox uses for some pretty involved interop).
kibwen 2 hours ago [-]
Rust's raison d'être is to improve the confidence of the security-critical parts of your system. You don't need to rewrite all 30M lines of code to benefit from it, you just need to identify the 1% of your codebase with the greatest attack surface (e.g. any internet-facing string parser), cordon that part of the codebase off with a C ABI, and then convert that part to Rust. This is similar to how Firefox incorporates bits of Rust into its own C++ codebase over time (e.g. for parsing URLs).
drop_star 2 hours ago [-]
ya our codebase is 30m lines of c++
bryanlarsen 5 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.
bluGill 5 hours 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).
tyre 2 hours ago [-]
What were you working on that cost a billion dollars to rewrite? Or was that hyperbole?
bluGill 2 hours ago [-]
Real numbers. I can't say what directly, but you can make a good guess if you read my comment history. (I don't think this would be worth your time, but you could)
vlovich123 5 minutes ago [-]
Based on Grok identifying the company correctly, that would amount to ~3% of annual revenue and 30% of profits which seems insane to me for the cost of a single project.
Anyway, even if that were true, rewrites are becoming drastically cheaper, simpler, and more correct with AI. The Bun rewrite is the largest experiment and seems to be 5-10x cheaper and completed ~100x faster and these costs are likely to come down further. So your claimed $1B rewrite today costs $100M and carries less risk. In 5 years it'll probably cost at most $10M and be finished drastically more quickly. And the vast majority of software doesn't cost $1B to translate.
redox99 1 hours ago [-]
Btw grok found out in less than ten seconds what place you refer to and likely what software within that company.
Things that wouldn't be worth your time before are trivial these days with LLMs.
cogman10 21 minutes ago [-]
woof, yeah, Just did the test myself (because I was curious) and it spat out the answer pretty quick.
3 hours ago [-]
splicebot 25 minutes ago [-]
In my time in VC++ and .NET teams, there was only one 1st tier language at MS. It was the one that existed to be whatever Windows wanted - VC++. I've not been there for about 10 years but I haven't heard that anything changed and the blog pretty much confirms that sentiment.
My advice to the Rust team: you're going to get shoved so I hope you're good at shoving back. At least you don't have to worry about stevesi (unless you're with a16z or have kids).
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.)
ldobre 5 hours ago [-]
Also, showing the weather is a great excuse to ask permissions for the user location.
zahlman 2 hours ago [-]
What does that have to do with its RAM consumption, though?
sshine 2 hours ago [-]
What if the user changes location?
Sounds like unbounded, dynamic allocation to me!
mf2hd 2 hours ago [-]
Makes sense, someone turns on a vpn, have to prepare for that.
afpx 3 hours ago [-]
The mac tahoe weather system daemon is also sus
swozey 4 hours 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.
zanecodes 2 hours ago [-]
Android's permission system conflates the Bluetooth scanning permission with the "Fine location" permission, because in theory any app that can enumerate nearby Bluetooth devices (including things like nearby Bluetooth Low Energy beacons commonly found in stores and malls) could use that information to locate your phone within a few hundred feet.
It seems like there's a newer build option to explicitly disable the "Fine location" permission prompt while still being able to scan for Bluetooth devices, but such beacons are somehow filtered from the list if it's enabled, and it's only available for builds targeting newer Android versions.
nicman23 4 hours ago [-]
i prefer the macos mindset if not the actual OS
swozey 4 hours ago [-]
I just looked and I think what I'm talking about, where they folded more specific permission callouts under a broad term "Full disk access" "local devices" etc used to be more granular before they updated that UI to match the iphone. If I got a jumpscare permission prompt on macos, I used to actually be concerned. Now they're all jumpscares for basic stuff.
But I could be misremembering. I haven't liked any of the recent macos releases. I will begrudgingly install Golden Gate to hopefully fix my m1 max 64gb slowing ot a crawl with Tahoe.
jen20 2 hours ago [-]
If you really want to see what is doing what, you should install Little Snitch and Little Flocker. Many apps (from exactly the people you'd expect) are doing absolutely unhinged nonsense that no-one should put up with.
nicman23 2 hours ago [-]
yeah i mean security is opposite to convenience until it is really really not
mf2hd 1 hours ago [-]
Ah, most of the people just click yes, yes, allow, allow, yesIamsure, next. Especially when the system is training them to do exatly this by these meaningless warnings you described.
The forest job sounds nice :)
throwaway894345 3 hours ago [-]
Unrelatedly, I'm still trying to figure out why Apple requires me to unlock my phone to look at the weather. Is there some concern that someone could pick up my phone and learn what city it is in?
jshier 3 hours ago [-]
You can use the weather widget on the lock screen, and as long as you have lock screen content when locked enabled, you can see the current area's weather just fine. Or do you want the whole app experience?
throwaway894345 3 hours ago [-]
The lock screen widgets don't tell you much more than what you can get from looking outside. It's not very helpful to know that it's currently overcast and raining, but it would be a lot more helpful if I could know when the rain is supposed to stop or what the week's forecast is and so on.
throwaway27448 3 hours ago [-]
I'm a little too lazy to experiment, but it wouldn't surprise me if that widget didn't function normally until the phone is unlocked.
jen20 2 hours ago [-]
I just tried it. It works fine.
throwaway27448 1 hours ago [-]
The software can read from the phone without unlocking it?
jshier 16 minutes ago [-]
After the first unlock after a reboot yes, except for those items with very high security (usually just keychain items) that require an unlock for every access. Lock screen items can be locked every time you lock the phone, or set to allow access while locked (after first unlock). Unfortunately this is an all or nothing setting, unless the widget specifically uses the redaction views to hide content.
Oddly, I find the weather widget refreshes much more often than the app. I'll tap on the widget, which is up to date, which launches the weather app, which could be from yesterday, and have to wait while it refreshes. Apparently the app doesn't implement any background refresh at all, which is really weird.
3 hours ago [-]
freeplay 3 hours ago [-]
You want to be able to launch apps without unlocking your phone? Slippery slope.
kevin_thibedeau 2 hours ago [-]
Camera app does it.
derefr 57 minutes ago [-]
Nope; the lockscreen camera is actually an entirely different app, or not-quite-app thing. (Note what happens when you open the camera roll in the lockscreen camera.)
throwaway894345 3 hours ago [-]
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.
zamalek 2 hours ago [-]
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.
Escapado 6 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"? :)
xattt 5 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.
moooo99 4 hours ago [-]
The longer I work in corporate, the wiser Todd seems
throwaway85825 3 hours ago [-]
Based on windows bloat Sally got fired because she was an old timer and cost to much so all the Sally's are gone and they're all Todd's now and windows is an unstable bloated mess.
missingcolours 2 hours ago [-]
The corporate dilemma between "I hired some less competent engineers and they're dragging the team down" and "I hired only highly capable engineers and now I have to give 10% of them bad reviews in stack ranking and later let them go"
torginus 2 hours ago [-]
I don't think this is a real dilemma - people hell bent on avoiding work can get by without shipping a single line of code for years.
jm4 3 hours ago [-]
Not to mention, they have 1 GB of headroom in their back pocket if/when they need to make Windows more efficient. Quick rewrite of that app or just scrap it and they've saved months of optimization.
throwaway27448 3 hours ago [-]
I think it's less about pie charts and more that weather apps can be very eyecandy-heavy. This sort of marketing works well for both consumers and board members.
zahlman 2 hours ago [-]
1GB is space for almost half an hour of 5000kbps ("YouTube Premium") video. Just what kind of eye candy are we talking about here?
monocasa 2 hours ago [-]
It's also only 45 frames uncompressed at 4k. It's remarkably easy to hit that if your base assets are mostly raster rather than vector for a dynamic scene.
Obviously, they should try harder, and this is an explanation rather than an excuse, but the graphics assets are mostly why.
nikanj 2 hours ago [-]
Sally, obviously. Todd is much more likely to have a perfect haircut and immaculate fluency in corpotalk
xyst 5 hours 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?
villish 3 hours ago [-]
The list of professions made obsolete is very long. Why should programming be protected if AI in the future can make software better, safer, and cheaper?
miroljub 6 hours ago [-]
[flagged]
delta_p_delta_x 4 hours 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.
MarleTangible 2 hours ago [-]
Outlook, Teams, and other all show up as msedgewebview2.exe, so you also don't know which app is consuming gigs of memory doing nothing.
pjmlp 6 hours ago [-]
The problem is the Webview2 prevalence, and note many Rust projects love their webviews as well.
airstrike 1 hours ago [-]
Not the ones made with iced <3
onlyrealcuzzo 5 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.
throwaway894345 3 hours ago [-]
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, JSON, etc libraries and consequently I'm not building anything serious yet (although the libraries are well-tested using pre-existing corpuses from reputable projects e.g. curl as well as fuzz tested).
Most "outputs" are passed as out parameters for the function to fill in, and results are Rust-like enums (a Go tagged union containing only small data). I could also have returned (T, error) but I would have to take care that the thing I pushed into the error argument doesn't allocate--not sure if I made the right decision or not, but for now it feels nice. The worst part is that I don't really have a good way to communicate detailed error information, but that hasn't bitten me yet.
This has also been a lot less effort than writing Rust, although Rust would have real checks for lifetimes and im/mutable and enum exhaustiveness and so on--so far I haven't been bitten, and I suspect things like enum exhaustiveness can be addressed via linter if necessary.
afdbcreid 2 hours ago [-]
> 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 - rewriting your main structure, but are fortunately rare). Considering the effort involved in coding in such unnatural Go variant, I tend to believe it is far easier to code in Rust (including coding in Rust using this style, since it is more suited to it).
Of course, if you're just vibe coding everything, maybe it is easier because maybe the LLMs write such Go better that they write Rust. But if you're not, even if you're only reviewing the code, I believe it's easier to review Rust code than to review such Go code (and potentially than reviewing any Go code, but that is a different matter).
sn9 1 hours ago [-]
Have you considered doing this in OCaml?
You'd get most of the benefits of Go and Rust.
isolay 5 hours ago [-]
Whether vibecoded Rust will be better than whatever they are doing now remains to be seen.
mr_00ff00 5 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.
"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.
ben-schaaf 3 hours ago [-]
There's premature optimisation, where you write a whole bunch of complicated code to avoid cloning an Arc<>. And then there's "premature optimisation" where you skip any consideration for performance until it becomes a problem.
The latter is usually what people who use the quote "premature optimisation is the root of all evil" think it means. Don't just keep calm and clone, consider what you're cloning and why, and then hopefully we won't end up with even more horribly slow software.
afdbcreid 2 hours ago [-]
"Keep calm and clone" is a good advice for beginners. Then it is also a good advice for experts - because when you're an expert and you just think of cloning, that probably means it is easier than borrowing which you would default to.
JoshTriplett 2 hours ago [-]
By all means use borrowing if it's straightforward. But don't necessarily upend your whole codebase to avoid one clone, either.
bananamogul 1 hours ago [-]
Isn’t the latter what Knuth meant?
Such a slippery slope between “consideration of performance” and optimization.
cogman10 34 minutes ago [-]
The full quote
> Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
Notice the aspects and the reasons for knuth's "premature optimization". Is it making the code harder to debug and read? Is it a non-critical path?
If an optimization doesn't impact readability or debugability (for example, picking a datastructure that fits the problem instead of just using a List for everything). Then you should do it.
I see the quote so often pulled by people that want to justify inserting a n^2 algorithm when a log(n) solution is either the same amount of code or 1 line extra.
There's also important context about the era knuth was programming in. Optimization in the era of knuth was targeting the hardware and tickling things like the CPU cache and memory in a very specific way. It was things like clever bit manipulation and packing to save memory. That's the context. In modern terms it'd be "don't use SIMD intrinsics until you know you need them". It wouldn't be "Don't think about algorithmic complexity" which is where I most often see that kludge deployed.
Barrin92 2 hours ago [-]
The question to me in terms of memory is, if you're writing a weather app on windows why are you not using C#.
The point of these low/zero overhead languages like Rust is you're in an environment where memory management is ultra critical. The dotnet garbage collector does more than a good enough job for a weather app, likely a much better one than vibe coded .clone() Rust
Instead of oscillating between Rust and 1 GB webview apps just ... use the excellent managed language that exists on the operating system appropriate for GUI applications?
bluGill 5 hours ago [-]
The other things I've seen beginners do is throw unsafe at everything.
tredre3 4 hours ago [-]
The things that unsafe enables are arbitrary pointers, FFI, and accessing union members in a C struct. It seems highly unlikely to me that unsafe would fix any beginner's problem.
.clone() on the other hand is indeed an easy/quick fix for a lot of issues you'd face when learning rust.
suddenlybananas 4 hours ago [-]
I think beginner programmers are unlikely to use unsafe when learning rust but people coming from c or c++ who are beginners at rust might use unsafe all over the place.
bluGill 4 hours ago [-]
Exactly - we have been using C or C++ for decades and most of us have a lot of experience. We think like programmers in the languages meaning we often do things that Rust won't allow without unsafe. A small percent of the time that is the right thing (which is why Rust have unsafe), but very often there is a Rust way that is just as performant if only we knew how to think like Rust programmers.
Pannoniae 4 hours ago [-]
Sadly it still feels like it's one of the languages where the language doesn't trust you, it tries to force you to do things "the right way". I do love quite a few of its design like how traits are, not forcing every method into the declaration, and the standard library is much less crazy than the C++ version.
Sadly, other things a bit less so - the story for the thin battery-less stdlib + npm-style churn encourages bloat, and the semantics are obsessed with safety at a heavy cost to productivity unless you spam clone() and reference-counting - but then your program becomes slow, kind of negating the advantages, you might as well have written it in C# or something...
rblatz 3 hours ago [-]
Yeah it doesn’t trust you, and for good reason the decades of developers making the same mistakes over and over again. If everyone was perfect you wouldn’t need Rust, but no one is perfect and that’s why Rust exists.
bluGill 2 hours ago [-]
Most of the time the rust way is just as good, just different.
uecker 4 hours ago [-]
Yes, but this this is not a problem at all because any bug caused by misuse of unsafe (or unwrap) is entirely the fault of the programmer (or the AI) and not of Rust. /s
stefan_ 3 hours ago [-]
Actually they just Arc<T> everything
dismalaf 3 hours ago [-]
Instead of leaking memory it'll just clone the whole heap over and over.
hirvi74 3 hours ago [-]
I seriously do not think things could be any worse.
CamperBob2 2 hours ago [-]
If it's vibecoded, who GAF what language is used?
This argument applies regardless of how you feel about vibecoding. Lately people have been asking for x64 machine language and getting reasonable results.
geodel 6 hours ago [-]
But Tier-1 app consuming Tier-1 RAM seems officially approved.
_s_a_m_ 42 minutes ago [-]
are they launching for the graphics in the background the whole MS Office and PowerPoint?
jordand 3 hours ago [-]
It won't, that 1GB+ belongs to Microsoft's advertisers and their many video ads
MarleTangible 2 hours ago [-]
Reminds me of how they allow OEMs to install bloatware through Windows update now. I believe LG did something that leads to various app installs when you connect their monitors via HDMI.
pessimizer 1 hours ago [-]
If they can't do it with infinity budget and infinity AI, they're not going to be able to do it with that plus Rust.
Hilarious that the article is like "Apple's weather app is only 200MB!"
The day that OS vendors started abandoning native apps was a hilarious day.
unixhero 4 hours ago [-]
And that the calculator does not take 5 seconds to load
nalekberov 2 hours ago [-]
Does it matter when one embeds web browser into their app?
ls-a 59 minutes ago [-]
[dead]
ComputerGuru 7 hours ago [-]
So when will we get tier 1 debugging support in Visual Studio?
MaulingMonkey 2 hours ago [-]
IDK about "tier 1" but I'll note I've used VS for debugging and profiling Rust binaries. I even wrote a tool to auto-generate a wrapper .sln so I can easily launch from VS: https://github.com/MaulingMonkey/cargo-vs
(...I should check on enum visualization, but I suspect it's still poor.)
flohofwoe 7 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 ;)
bluGill 6 hours ago [-]
The greybeards rarely used debuggers, and then only to see the stack trace of a core file. They found printf better.
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.
josephg 6 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.
rafaelmn 6 hours ago [-]
Debugger MCP better
josephg 6 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.
bluGill 5 hours ago [-]
Try, but what skills are work keeping? We need something cogntive, but not everything. I know a few people who blacksmith as a hobby (often for the physical exercise as much as the work), but most people are happy not knowing how to do that job. I know how to set the air-fuel ratio on a gas engine, but I'm glad I don't need to tweak those parameters while driving (unlike a 1910s car where you did), and I won't miss oil changes on my cars as I move to electric.
lelanthran 3 hours ago [-]
> Try, but what skills are work keeping? We need something cogntive, but not everything.
Are you trying to be funny?
bluGill 3 hours ago [-]
Work should be worth. I'm not sure if that is me or autocorrect.
a012 6 hours ago [-]
It’s all /skills now
pjmlp 7 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.
jeroenhd 4 hours 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.
mrec 7 hours ago [-]
I'd also love to see MS sponsoring Windows support for a modern linker like mold or wild.
delta_p_delta_x 6 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.
jcelerier 4 hours ago [-]
to be fair mold or wild's full link is a few hundred times faster than a link.exe incremental relink
thrwaway73637 2 hours ago [-]
u dont debug rust mate
if it compiles it works
dethswatch 5 hours ago [-]
RustRover, my friend.
throwaway85825 3 hours ago [-]
I thought rover forced you to use their horrible new UI?
petilon 6 hours ago [-]
If it is a tier-1 language why isn't it supported in Visual Studio?
brunoborges 6 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.
pdpi 5 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.
isolay 5 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.
bluGill 5 hours ago [-]
Most people don't have a choice. Corporate IT has choosen what I run my machine on. I have used a native linux machine, but since my email is still on outlook, everybody uses teams, and all the non-code documents are on windows I end up having to have a windows machine. Linux in a VM under windows ends up being the easiest workflow (though I'm just starting to try WSL and so far it is looking good)
disgruntledphd2 5 hours ago [-]
> (though I'm just starting to try WSL and so far it is looking good)
WSL is really nice, as is Windows Terminal. I particularly love its fonts (but that's probably just me).
throwaway85825 3 hours ago [-]
Did they ever fix terminal performance?
ocdtrekkie 1 hours ago [-]
I think just running cmd still uses much less memory but Terminal is much, much faster than it was.
philwelch 2 hours ago [-]
Outlook and Teams are both web apps, or at least they were when I last used them. Even if you download the "native" app it's just Electron. I haven't had trouble using either of them on Linux.
bluGill 2 hours ago [-]
Outlook is native. There is the new web version that it says don't use (yet)
vouwfietsman 4 hours ago [-]
This kind of stuff is why its hard to have good conversations about tooling. Windows is the best place for many kinds of software dev, but perhaps not the kind you are doing.
rafterydj 2 hours ago [-]
When it is not the mandated option, under what circumstances is Windows the best choice for software dev? The only domain I can think of is gaming, and Valve is seemingly coming up fast to eat Microsoft's lunch in the next few years.
neutronicus 4 hours ago [-]
Visual Studio brings a lot to the table for C++ development. Specifically the Debugger, although IntelliSense also often succeeds at queries that stump clangd.
If they can replicate that capability, I think it can be a draw.
I was a mac / Linux guy before my current gig, but Visual Studio is so much more capable than XCode that I basically only use the Windows machine except to debug mac-specific issues. Less so, now, admittedly, that the malware scanner process is literally always pegging a CPU core.
not_a9 6 hours ago [-]
Visual Studio does have a really nice C++ debugger - one would imagine the C++ debugging capabilities should translate to Rust.
germandiago 5 hours ago [-]
> Even with coding agents
Because of coding agents? :D
phire 1 hours ago [-]
It's only tier-1 for internal Microsoft use.
And for all we know, it might be officially supported in their internal builds of Visual Studio.
eterm 4 hours 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 )
afdbcreid 5 hours ago [-]
It is, with extensions (using rust-analyzer of course). I don't know what's the status inside Microsoft.
cwbrandsma 6 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.
CodeCompost 5 hours ago [-]
Agreed but I think you need to pry Visual Studio from VB.NET developers' cold dead hands.
neutronicus 4 hours ago [-]
C++ developers, too. I suppose they're splitting out the real powerful stuff (Debugger, LSP) for VSCode's consumption.
js8 6 hours ago [-]
Is Microsoft still trying to embrace, extend, extinguish Netscape after all those years? :-)
layer8 6 hours ago [-]
You’ll know when they publish Visual R++ or Rust.NET.
you jest but F# already does the ocamlness of Rust, no? and you don't need a borrow checker.
layer8 5 hours ago [-]
For tracking ownership of non-memory resources you still need something like that.
Havoc 3 hours ago [-]
What a cursed comment haha
boredatoms 6 hours ago [-]
I guess we should watch for contributions to Servo
stillpointlab 2 hours ago [-]
I haven't made a full switch yet, at this point I'm experimenting more heavily in Rust.
First I built a wrapper for a very simple text editor based on KDEs KTextEditor (basically bindings around Qt C++) then a wasm wrapper around Canvas/WebGL for a basic 2d display list that currently supports sprites and gradient masking.
So far I've been getting away with it just as pure vibe code.
However, the bulk of my primary application is written in Typescript (both client, server and workers). I watched a recent podcast with Anders Hejlsberg (creator of C# and Typescript) where he made a strong argument for why they chose Go over Rust for the updated Typescript compiler. Due to similarities between Typescript and Go, partially based around them both being GC languages, it was just a better fit for a port.
So I am on the fence a bit here but still leaning towards Rust. I'm going to see how far I can push my two personal experiments. I'd really like to get the significant majority of the code I write into two languages (Typescript for anything web-ish and Rust for everything server-ish).
> 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!
swiftcoder 6 hours ago [-]
I guess the big question is whether they are going to open up rustc_codegen_utc for use outside of Microsoft?
afdbcreid 5 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.
timedude 1 hours ago [-]
The best C++ interop is just writing C++. Anything else is just wasting time and energy.
lukaslueg 2 hours ago [-]
A MSVC-backend? At this time of year! At this time of day! In this part of the country! Localized entirely within Microsoft?!?
Yes.
May I see it?
No.
rererereferred 4 hours ago [-]
But which GUI toolkit will they use for all their new rust applications?
tcfhgj 2 hours ago [-]
WinUI (3) via Windows Reactor
paaloeye 1 hours ago [-]
I'm wondering how they deal with long compilation times
divs4real 51 minutes ago [-]
started learning rust using the rust programming language book last month!
nacozarina 2 hours ago [-]
… and they proved you can still write tier-10 software with it
prisonguard 1 hours ago [-]
LOL!
okokwhatever 1 hours ago [-]
This thread deserves a meme
_joel 7 hours ago [-]
Site down, maybe they need port it to use Rust...
They use wordpress
seki285 6 hours ago [-]
What is wrong with wordpress exactly?
bluGill 6 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.
mcmcmc 6 hours ago [-]
Matt Mullenweg
jcelerier 4 hours ago [-]
wordpress
echelon 6 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.
tonyedgecombe 6 hours ago [-]
I like Rust a lot but I'm not sure it would come very high up my list for web applications.
insanitybit 2 hours ago [-]
At work we're moving almost everything to Rust on our backend. Massively reduced memory usage and significant latency improvements relative to our Typescript codebase. Even for code that you'd expect to work well in TS, a near 1 to 1 port to Rust has considerably improved our best case and, in particular, our worst case latencies. And the memory we get back is huge, we may even drop our instance size down with the 800MB of RAM we're likely going to save.
echelon 6 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.
germandiago 5 hours ago [-]
> Axum and Actix are phenomenal web frameworks
Compared to what? I see ASP.NET Core and Quarkus very competitive. The virtual threads in Java are great, paired with structured concurrency IMHO.
If I have to go microservice or API, I would choose FastAPI for fastest delivery and if I have to rewrite, Go, unless it is massive scale and scaling horizontally becomes a headache I would not consider Rust/C++ for this.
All the backend, etc. for the company I have been working for is C++ for the fast parts but all tools around are Python (with NiceGUI and Flask mostly).
I think the combination is quite powerful, btw.
tomrod 4 hours ago [-]
Say more. I need me proper rust in the browser.
6 hours ago [-]
edukite 6 hours ago [-]
First compile. Every another will be significantly faster since compiler is incremental
Surac 5 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
HPsquared 5 hours ago [-]
Visual Rust sounds like a defect but I'm looking forward to it.
ellyagg 5 hours 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”.
guywithahat 3 hours ago [-]
It’s cool to see rust join C++, C#, and typescript as primary engineering languages. Confusingly there are no tier 2 or 3 languages, just tier 1 at Microsoft
KingOfCoders 5 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.
astarc 1 hours ago [-]
It is a decompiled language.
macleginn 6 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.
Colegno 5 hours ago [-]
Being technically approved by Microsoft is not a proof of quality...
afdbcreid 5 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.
bryanlarsen 3 hours ago [-]
Google announced that Android contains 5 million lines of Rust last year; sounds Tier-1 to me.
afdbcreid 2 hours ago [-]
Android is a bit special inside Google (also Chromium). They are managed outside the main monorepo (google3) and their policies are different. From what people inside Google have told me, they do want to introduce Rust into google3 but that work has only begun.
kccqzy 2 hours ago [-]
They wasted a few years trying to introduce Swift then Carbon because they thought the Rust C++ interop wasn’t good enough.
axus 4 hours 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.
minimaxir 3 hours ago [-]
In World of Warcraft, gear tier is an ordinal representing the raid tier the gear was made accessible in, not an indication of its importance/power.
bitwize 3 hours ago [-]
NT kernel rewrite when?
this_user 6 hours ago [-]
Now their broken slop code is at least memory safe.
ArsenDjukic 3 hours ago [-]
[dead]
FrustratedMonky 5 hours ago [-]
As much as I like Rust. Still sad that F# didn't get this much support from their own mother.
stevetron 3 hours ago [-]
So, Rust.NET?
4petesake 1 hours ago [-]
VisualRust.NET Copilot
larodi 6 hours ago [-]
ermm... which are the rust-native libs which enable winrt3.0 native apps?
tcfhgj 2 hours ago [-]
Do you mean winui3?
windows-rs
larodi 43 minutes ago [-]
winui3, yes. but afaik windows-rs is the generic crate, right? not something ms released as rust-first approach to winui3?
dismalaf 3 hours ago [-]
If I were the Rust foundation I'd be keeping this to myself right now.
DidntUseIt 7 hours ago [-]
Link doesn’t work.
What’s a Tier 1 language?
meindnoch 6 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.
DidntUseIt 6 hours ago [-]
The answer I deserved!
gshubert17 6 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.
swiftcoder 6 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"
theanonymousone 3 hours ago [-]
Java and Python are not on that list?
monocasa 2 hours ago [-]
Microsoft explicitly de-emphasized Java in favor of C# after their J++ lawsuit. That's why they created C# in fact.
Python for windows application development never really got there and is kind of a technically runs if you want to run python kind of situation.
flohofwoe 6 hours ago [-]
It means it's about as good as C++ ;)
afdbcreid 5 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).
sehw 2 hours ago [-]
[dead]
aynyc 6 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
superkuh 4 hours 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.
0x457 4 hours 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.
estebank 4 hours 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.
i2talics 4 hours 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.
hatefulheart 2 hours ago [-]
Sephora is tier-1 at the Clown convention
mgaunard 6 hours ago [-]
does it mean there is a rust.net?
dralley 6 hours ago [-]
There is a rustc_codegen_clr which transpiles to .NET
> 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.
debugnik 4 hours 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.
pali6 6 hours ago [-]
That project is not in any direct way related to Microsoft
DidntUseIt 6 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
4petesake 1 hours ago [-]
Cold Fusion 1,000 mile gaze says hello
m3kw9 3 hours ago [-]
Good, C# is one of the worst languages there is, hopefully they turn it in to tier 18
burakemir 5 hours ago [-]
[dead]
grougnax 1 hours ago [-]
[dead]
cnrcode 5 hours ago [-]
[dead]
sehw 2 hours ago [-]
[dead]
LazyIDE 6 hours ago [-]
[flagged]
adikshatriyag 4 hours ago [-]
crazy i like that
calvbak 6 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.
VimEscapeArtist 5 hours ago [-]
M$ choosing Rust might be the strongest argument for picking Go instead
germandiago 5 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.
VimEscapeArtist 2 hours ago [-]
It was meant as sarcasm, but judging by the downvotes, I clearly didn’t land it :)
mtgh2s 6 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.
nazgulsenpai 5 hours ago [-]
Probably the fact they're a $3.7tn company has something to do with it.
the__alchemist 6 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.
jdcasale 6 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.
germandiago 5 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).
m00dy 6 hours ago [-]
yeah, locks are expensive.
the__alchemist 6 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)
surajrmal 5 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).
mgaunard 6 hours ago [-]
All those applications area sensitive to asynchronous programming.
okanat 6 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.
Verdex 6 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.
saghm 6 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).
Surac 5 hours ago [-]
a rust with gc is already available. it is called c# and runs on all os nowerdays
saghm 2 hours ago [-]
No, a class-based OO language where you need to spend effort crafting build targets by hand or use an IDE to define how to build is not anything close to what I'm talking about. If you think that it's "Rust with GC", I think you're misunderstanding what actually appeals to most people about Rust.
I'd also argue that "runs on all OS" is true, but "is easy to develop without extra work in a cross-platform way" is not. I've never cloned a Rust project and had trouble building out of the box on Linux, but I'd estimate maybe one out of 20 C# projects I clone from Github build for me out of the box with `dotnet build`; the rest either require me manually tweaking the build configs to avoid stuff like hardcoded Windows-style paths or link to system dependencies that don't exist on Linux. I imagine you might argue that this is a property of how people use the language rather than the language itself, but that doesn't really matter from the standpoint of whether it's worth it for developers who don't use Windows to spend any time trying to invest in the ecosystem.
mook 5 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.
bigfishrunning 6 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)
vablings 5 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
germandiago 5 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.
gregw2 4 hours ago [-]
Why isn't the game industry moving to rust?
Someone in that industry can perhaps speak to it, but I have two cents of perspective...
I have helped a young person with gamedev interests try to learn rust (on Windows). They've learned some rust, but the graphics+Windows libraries and primitives to work with are not very good nor straightforward, even with AI assistance. Besides weakness in the gaming/rendering domain, there seemed to be some very real versioning/dependency hell that also didn't help.
It's massively easier to make progress on even just a 2D game with something like GDScript-based Godot (or Unity or...).
bigfishrunning 3 hours ago [-]
It seems like you're comparing "start from scratch in rust" to "start with an existing game engine in some other language". That's not really a fair comparison. there are popular game engines in rust (although i think they're mostly smaller/more niche then something like unity or godot), bevy comes to mind.
tredre3 4 hours ago [-]
> Why isn't the game industry moving to it then? Bc it just cannot compete at volubility with C++, among other things.
I have no opinion regarding rust suitability as a game language, but your answer doesn't sound right.
The actual reason is much simpler. The industry is built on a handful of game engines. Those engines are extended or scripted in C++ or C#. Thus the vast, vast majority of the work force will only have experience with those languages and the entirety of game studios' tooling is built around those. The end.
SleepyMyroslav 4 hours ago [-]
I work in gamedev. Here is a simple answer: proprietary gaming platforms have no plans to support Rust.
mrec 5 hours ago [-]
I don't think "volubility" means what you think it means. The usual meaning of "voluble" is "talkative" (gesprächig if your username is accurate). I'm not quite sure what you're going for here or in an earlier comment, but suspect it's something more like "ergonomic", i.e. the language being easy/natural to write and not getting in your way.
Pannoniae 4 hours 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;)
bryanlarsen 5 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.
germandiago 5 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...
edukite 6 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.
bigfishrunning 5 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.
larme 5 hours ago [-]
GPU programming?
the__alchemist 5 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.
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...
It's abundantly clear that there is a strong headwind towards memory safety, whether that's Rust or GC'd languages.
C++ is still indicated for systems that are optimizing for performance and scalability characteristics, since it intrinsically requires a lot of "unsafe" constructs.
nit: except in aviation
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.
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.
A disgruntled former Azure employee posting what a clusterfuck their SW, including their Rust effort is? That’s both rare and interesting.
In theory Odin 2027, the 1.0 release of Bill's Odin language, is scheduled for, as the name suggests, early 2027. Zig does not have an announced 1.0 schedule, and who knows for the other two famous Handmade languages.
From the rash of "C++ successor" languages a few years ago, Carbon is still being worked on, Herb Sutter's "Cpp2" seems dead or at least in a coma, Hylo is probably also in a coma, it has several "Write this text" type blog posts, dated 2025 for example...
Don't get me wrong, Rust is lightyears ahead of any other alleged C/C++ successor. But I work in a space where C and C++ have been the only option for the last 30 years with absolutely no production-ready alternative. It looks like that won't be changing anytime soon, which is disappointing.
https://adspthepodcast.com/2026/08/21/Episode-300.html
Cpp2 was Herb's experiment and doesn't seem to be developed much further now,
https://github.com/hsutter/cppfront/discussions/1450
Google is still quite keen in having Carbon, for the purpose of migrating existing C++ codebases, for new code there is Rust, Go, Kotlin, Java, Swift and co.
"Carbon: graduating from the experiment - NDC Toronto 2026"
https://www.youtube.com/watch?v=WJl4ftb5Fxg&t=9
Jai and... C3? FilC?
I see this on here a lot on this site, but Rust hasn't been that in over a decade. Rust's devotion to post 1.0 stability is massive and has involved some interesting design choices. I started writing run in 2015(?) and only hit one breaking change in the language. It was a niche bug in a macro that was fixed later in a later release.
Just watching hackernews you see lots of news about it, but these are additive and not breaking things. I was still writing lots of mio-style async code after async await was out. You don't have to adapt new style or libraries. I used to have a joke that you could tell a codebase's age based on the error handling libraries used, but even with that it was additive. Often multiple would exist in different parts of the same code base. "Oh wow, I've gone deep on this refactor.... I'm starting to see error_chain"
Linus is a wise operator at this point. I often see him come in like a hammer to bash down squabbling, but then he allows the situation to evolve once things quiet down. I only saw the hammer so I'm not sure what the current state is now.
It looks like later, in December 2025, Rust was officially moved from experimental to official: https://lwn.net/Articles/1049831/
Additionally we finally get some public news about the MSVC integration rumors regarding Rust.
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.
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/
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).
Anyway, even if that were true, rewrites are becoming drastically cheaper, simpler, and more correct with AI. The Bun rewrite is the largest experiment and seems to be 5-10x cheaper and completed ~100x faster and these costs are likely to come down further. So your claimed $1B rewrite today costs $100M and carries less risk. In 5 years it'll probably cost at most $10M and be finished drastically more quickly. And the vast majority of software doesn't cost $1B to translate.
Things that wouldn't be worth your time before are trivial these days with LLMs.
My advice to the Rust team: you're going to get shoved so I hope you're good at shoving back. At least you don't have to worry about stevesi (unless you're with a16z or have kids).
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.)
Sounds like unbounded, dynamic allocation to me!
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.
It seems like there's a newer build option to explicitly disable the "Fine location" permission prompt while still being able to scan for Bluetooth devices, but such beacons are somehow filtered from the list if it's enabled, and it's only available for builds targeting newer Android versions.
But I could be misremembering. I haven't liked any of the recent macos releases. I will begrudgingly install Golden Gate to hopefully fix my m1 max 64gb slowing ot a crawl with Tahoe.
The forest job sounds nice :)
Oddly, I find the weather widget refreshes much more often than the app. I'll tap on the widget, which is up to date, which launches the weather app, which could be from yesterday, and have to wait while it refreshes. Apparently the app doesn't implement any background refresh at all, which is really weird.
Obviously, they should try harder, and this is an explanation rather than an excuse, but the graphics assets are mostly why.
Replaced by LLM and an offshore contractor. CaPiTaLiSm, right?
It is essentially an entire Chromium instance around msn.com/weather.
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.
This is really only possible because I told Fable to build the underlying allocation-free HTTP, JSON, etc libraries and consequently I'm not building anything serious yet (although the libraries are well-tested using pre-existing corpuses from reputable projects e.g. curl as well as fuzz tested).
Most "outputs" are passed as out parameters for the function to fill in, and results are Rust-like enums (a Go tagged union containing only small data). I could also have returned (T, error) but I would have to take care that the thing I pushed into the error argument doesn't allocate--not sure if I made the right decision or not, but for now it feels nice. The worst part is that I don't really have a good way to communicate detailed error information, but that hasn't bitten me yet.
This has also been a lot less effort than writing Rust, although Rust would have real checks for lifetimes and im/mutable and enum exhaustiveness and so on--so far I haven't been bitten, and I suspect things like enum exhaustiveness can be addressed via linter if necessary.
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 - rewriting your main structure, but are fortunately rare). Considering the effort involved in coding in such unnatural Go variant, I tend to believe it is far easier to code in Rust (including coding in Rust using this style, since it is more suited to it).
Of course, if you're just vibe coding everything, maybe it is easier because maybe the LLMs write such Go better that they write Rust. But if you're not, even if you're only reviewing the code, I believe it's easier to review Rust code than to review such Go code (and potentially than reviewing any Go code, but that is a different matter).
You'd get most of the benefits of Go and Rust.
Maybe this has changed since I wrote Rust, but that was a classic beginner fix. Just throw memory at it.
"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.
The latter is usually what people who use the quote "premature optimisation is the root of all evil" think it means. Don't just keep calm and clone, consider what you're cloning and why, and then hopefully we won't end up with even more horribly slow software.
Such a slippery slope between “consideration of performance” and optimization.
> Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
Notice the aspects and the reasons for knuth's "premature optimization". Is it making the code harder to debug and read? Is it a non-critical path?
If an optimization doesn't impact readability or debugability (for example, picking a datastructure that fits the problem instead of just using a List for everything). Then you should do it.
I see the quote so often pulled by people that want to justify inserting a n^2 algorithm when a log(n) solution is either the same amount of code or 1 line extra.
There's also important context about the era knuth was programming in. Optimization in the era of knuth was targeting the hardware and tickling things like the CPU cache and memory in a very specific way. It was things like clever bit manipulation and packing to save memory. That's the context. In modern terms it'd be "don't use SIMD intrinsics until you know you need them". It wouldn't be "Don't think about algorithmic complexity" which is where I most often see that kludge deployed.
The point of these low/zero overhead languages like Rust is you're in an environment where memory management is ultra critical. The dotnet garbage collector does more than a good enough job for a weather app, likely a much better one than vibe coded .clone() Rust
Instead of oscillating between Rust and 1 GB webview apps just ... use the excellent managed language that exists on the operating system appropriate for GUI applications?
.clone() on the other hand is indeed an easy/quick fix for a lot of issues you'd face when learning rust.
Sadly, other things a bit less so - the story for the thin battery-less stdlib + npm-style churn encourages bloat, and the semantics are obsessed with safety at a heavy cost to productivity unless you spam clone() and reference-counting - but then your program becomes slow, kind of negating the advantages, you might as well have written it in C# or something...
This argument applies regardless of how you feel about vibecoding. Lately people have been asking for x64 machine language and getting reasonable results.
Hilarious that the article is like "Apple's weather app is only 200MB!"
The day that OS vendors started abandoning native apps was a hilarious day.
The main pain point IME was poor debugger visualizers for standard containers and enums. I fixed some of that for the standard containers by writing some natvis files for std: https://github.com/rust-lang/rust/issues?q=state%3Aclosed%20... . Admittedly, they broke a few times. They also weren't automatically included in the pdbs, so I wrote a crate for that: https://github.com/MaulingMonkey/natvis-pdbs . And then someone crated and stabilized #[debugger_visualizer] for rust itself, which can do the same job: https://doc.rust-lang.org/reference/attributes/debugger.html .
(...I should check on enum visualization, but I suspect it's still poor.)
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.
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.
I don’t have a problem with cars. But walking is still good for us.
Are you trying to be funny?
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.
I'd be curious to know whether Rust developers believe Visual Studio is the right place for Microsoft to invest Rust specific coding capabilities.
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.
WSL is really nice, as is Windows Terminal. I particularly love its fonts (but that's probably just me).
If they can replicate that capability, I think it can be a draw.
I was a mac / Linux guy before my current gig, but Visual Studio is so much more capable than XCode that I basically only use the Windows machine except to debug mac-specific issues. Less so, now, admittedly, that the malware scanner process is literally always pegging a CPU core.
Because of coding agents? :D
And for all we know, it might be officially supported in their internal builds of Visual Studio.
( Edit: I should probably inform the layperson: It was Visual Studio 2022 )
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.
https://www.jetbrains.com/resharper/
First I built a wrapper for a very simple text editor based on KDEs KTextEditor (basically bindings around Qt C++) then a wasm wrapper around Canvas/WebGL for a basic 2d display list that currently supports sprites and gradient masking.
So far I've been getting away with it just as pure vibe code.
However, the bulk of my primary application is written in Typescript (both client, server and workers). I watched a recent podcast with Anders Hejlsberg (creator of C# and Typescript) where he made a strong argument for why they chose Go over Rust for the updated Typescript compiler. Due to similarities between Typescript and Go, partially based around them both being GC languages, it was just a better fit for a port.
So I am on the fence a bit here but still leaning towards Rust. I'm going to see how far I can push my two personal experiments. I'd really like to get the significant majority of the code I write into two languages (Typescript for anything web-ish and Rust for everything server-ish).
> 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!
Yes.
May I see it?
No.
They use wordpress
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.
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.
Compared to what? I see ASP.NET Core and Quarkus very competitive. The virtual threads in Java are great, paired with structured concurrency IMHO.
If I have to go microservice or API, I would choose FastAPI for fastest delivery and if I have to rewrite, Go, unless it is massive scale and scaling horizontally becomes a headache I would not consider Rust/C++ for this.
All the backend, etc. for the company I have been working for is C++ for the fast parts but all tools around are Python (with NiceGUI and Flask mostly).
I think the combination is quite powerful, btw.
Also the use of italics there is rather jarring.
windows-rs
What’s a Tier 1 language?
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.
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.
Python for windows application development never really got there and is kind of a technically runs if you want to run python kind of situation.
Seems pretty good to me ;)
(I know you're joking).
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.
All breaking changesin rust done via editions and you can mix-and-match editions.
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.
https://github.com/fractalfir/rustc_codegen_clr
how can one claim it is tier-1?
Also random student, nothing official from Microsoft.
The project linked above has been posted to HN in the past a few times though.
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
Rust is absolute performance, similar to C++. Go is deliver fast and get a very good performance to effort ratio.
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.
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).
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).
If ocaml had a cargo like experience, then I would migrate there.
I'd also argue that "runs on all OS" is true, but "is easy to develop without extra work in a cross-platform way" is not. I've never cloned a Rust project and had trouble building out of the box on Linux, but I'd estimate maybe one out of 20 C# projects I clone from Github build for me out of the box with `dotnet build`; the rest either require me manually tweaking the build configs to avoid stuff like hardcoded Windows-style paths or link to system dependencies that don't exist on Linux. I imagine you might argue that this is a property of how people use the language rather than the language itself, but that doesn't really matter from the standpoint of whether it's worth it for developers who don't use Windows to spend any time trying to invest in the ecosystem.
I'm interested in getting back to native application development; the job is on Electron right now and it's… meh.
* 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)
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
> 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.
Someone in that industry can perhaps speak to it, but I have two cents of perspective...
I have helped a young person with gamedev interests try to learn rust (on Windows). They've learned some rust, but the graphics+Windows libraries and primitives to work with are not very good nor straightforward, even with AI assistance. Besides weakness in the gaming/rendering domain, there seemed to be some very real versioning/dependency hell that also didn't help.
It's massively easier to make progress on even just a 2D game with something like GDScript-based Godot (or Unity or...).
I have no opinion regarding rust suitability as a game language, but your answer doesn't sound right.
The actual reason is much simpler. The industry is built on a handful of game engines. Those engines are extended or scripted in C++ or C#. Thus the vast, vast majority of the work force will only have experience with those languages and the entirety of game studios' tooling is built around those. The end.
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;)
If you have to iterate a lot the shape of your code... no, it is not any good at this...
I don't know why you think it's only usable but this is your right.