Rust is tier-1 language at Microsoft
Posted by mmastrac 8 hours ago
Comments
Comment by gregw2 5 hours ago
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...
Comment by jodrellblank 4 hours ago
Comment by mkehrt 2 hours ago
Comment by afdbcreid 1 hour ago
Comment by mokre 12 minutes ago
Comment by eterm 4 hours ago
It's abundantly clear that there is a strong headwind towards memory safety, whether that's Rust or GC'd languages.
Comment by estebank 4 hours ago
Comment by eterm 4 hours ago
Comment by foolswisdom 3 hours ago
Comment by odo1242 44 minutes ago
nit: except in aviation
Comment by delta_p_delta_x 5 minutes ago
Comment by jandrewrogers 52 minutes ago
C++ is still indicated for systems that are optimizing for performance and scalability characteristics, since it intrinsically requires a lot of "unsafe" constructs.
Comment by burakemir 5 hours ago
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.
Comment by gregw2 4 hours ago
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.
Comment by mkehrt 2 hours ago
Comment by blub 1 hour ago
A disgruntled former Azure employee posting what a clusterfuck their SW, including their Rust effort is? That’s both rare and interesting.
Comment by i2talics 4 hours ago
Comment by tialaramex 3 hours ago
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...
Comment by ryukoposting 1 hour ago
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.
Comment by afdbcreid 1 hour ago
Comment by pjmlp 2 hours ago
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"
Comment by zamalek 3 hours ago
Comment by afdbcreid 2 hours ago
Comment by hiccuphippo 3 hours ago
Jai and... C3? FilC?
Comment by hn_submit 14 minutes ago
Alas, that ship has sailed and Rust has many interesting features so I'm comfy with it taking over the role of C/C++ over the next decades.
Comment by stusmall 1 hour ago
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"
Comment by nicoburns 2 hours ago
Comment by afdbcreid 1 hour ago
Comment by Havoc 3 hours ago
Comment by stillpointlab 3 hours ago
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.
Comment by Mond_ 3 hours ago
Comment by stillpointlab 2 hours ago
It looks like later, in December 2025, Rust was officially moved from experimental to official: https://lwn.net/Articles/1049831/
Comment by bilkow 2 hours ago
Comment by grougnax 1 hour ago
Comment by pjmlp 7 hours ago
Additionally we finally get some public news about the MSVC integration rumors regarding Rust.
Comment by ghostly_s 6 hours ago
Comment by pjmlp 6 hours ago
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.
Comment by devy 4 hours ago
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.
Comment by fg137 24 minutes ago
Comment by kevincox 37 minutes ago
Comment by MarleTangible 2 hours ago
Comment by pornel 6 hours ago
Comment by booi 3 hours ago
Comment by abbefaria27 3 hours ago
Comment by afdbcreid 2 hours ago
Comment by nicoburns 2 hours ago
Comment by kibwen 2 hours ago
Comment by drop_star 3 hours ago
Comment by diegof79 26 minutes ago
Now 25 years later, MS runs its cloud businesses with Linux, and their development in Rust.
Comment by hn_submit 11 minutes ago
Comment by imglorp 21 minutes ago
Comment by bryanlarsen 6 hours ago
Comment by bluGill 5 hours ago
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).
Comment by tyre 2 hours ago
Comment by bluGill 2 hours ago
Comment by vlovich123 47 minutes ago
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.
Comment by redox99 1 hour ago
Things that wouldn't be worth your time before are trivial these days with LLMs.
Comment by cogman10 1 hour ago
Comment by red75prime 24 minutes ago
Comment by meerita 7 hours ago
Comment by Verdex 6 hours ago
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.)
Comment by ldobre 5 hours ago
Comment by zahlman 3 hours ago
Comment by afpx 3 hours ago
Comment by swozey 4 hours ago
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.
Comment by zanecodes 2 hours ago
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.
Comment by nicman23 4 hours ago
Comment by swozey 4 hours ago
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.
Comment by jen20 2 hours ago
Comment by swozey 18 minutes ago
Between quick mod tools and even just the mods watch out nowadays. That vibe coded new game tool for a game you've played 10 years and never seen before could be just vibe coded malware slop, especially if its asking to sign software or bypass it. Now gamers are getting used to disabling security stuff just to play games.
I've never actually looked at this list, I've used lulu forever https://objective-see.org/tools.html
Comment by nicman23 2 hours ago
Comment by mf2hd 2 hours ago
The forest job sounds nice :)
Comment by throwaway894345 3 hours ago
Comment by jshier 3 hours ago
Comment by throwaway894345 3 hours ago
Comment by throwaway27448 3 hours ago
Comment by jen20 2 hours ago
Comment by throwaway27448 2 hours ago
Comment by jshier 59 minutes ago
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.
Comment by freeplay 3 hours ago
Comment by kevin_thibedeau 2 hours ago
Comment by derefr 1 hour ago
Comment by throwaway894345 3 hours ago
Comment by zamalek 3 hours ago
Comment by Escapado 6 hours ago
Comment by throwaway85825 3 hours ago
Comment by missingcolours 2 hours ago
Comment by torginus 2 hours ago
Comment by jm4 3 hours ago
Comment by throwaway27448 3 hours ago
Comment by zahlman 3 hours ago
Comment by monocasa 2 hours ago
Obviously, they should try harder, and this is an explanation rather than an excuse, but the graphics assets are mostly why.
Comment by nikanj 2 hours ago
Comment by xyst 5 hours ago
Replaced by LLM and an offshore contractor. CaPiTaLiSm, right?
Comment by villish 3 hours ago
Comment by miroljub 6 hours ago
Comment by iw2rmb 6 minutes ago
Comment by delta_p_delta_x 4 hours ago
It is essentially an entire Chromium instance around msn.com/weather.
Comment by MarleTangible 3 hours ago
Comment by pjmlp 6 hours ago
Comment by airstrike 1 hour ago
Comment by onlyrealcuzzo 5 hours ago
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.
Comment by throwaway894345 3 hours ago
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.
Comment by afdbcreid 2 hours ago
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).
Comment by sn9 1 hour ago
You'd get most of the benefits of Go and Rust.
Comment by isolay 5 hours ago
Comment by mr_00ff00 5 hours ago
Maybe this has changed since I wrote Rust, but that was a classic beginner fix. Just throw memory at it.
Comment by JoshTriplett 4 hours ago
"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.
Comment by ben-schaaf 3 hours ago
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.
Comment by afdbcreid 2 hours ago
Comment by JoshTriplett 2 hours ago
Comment by bananamogul 2 hours ago
Such a slippery slope between “consideration of performance” and optimization.
Comment by cogman10 1 hour ago
> 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.
Comment by Barrin92 2 hours ago
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?
Comment by bluGill 5 hours ago
Comment by tredre3 5 hours ago
.clone() on the other hand is indeed an easy/quick fix for a lot of issues you'd face when learning rust.
Comment by suddenlybananas 4 hours ago
Comment by bluGill 4 hours ago
Comment by Pannoniae 4 hours ago
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...
Comment by rblatz 3 hours ago
Comment by bluGill 2 hours ago
Comment by uecker 4 hours ago
Comment by stefan_ 3 hours ago
Comment by dismalaf 3 hours ago
Comment by hirvi74 3 hours ago
Comment by CamperBob2 3 hours ago
This argument applies regardless of how you feel about vibecoding. Lately people have been asking for x64 machine language and getting reasonable results.
Comment by geodel 6 hours ago
Comment by _s_a_m_ 1 hour ago
Comment by jordand 3 hours ago
Comment by MarleTangible 2 hours ago
Comment by pessimizer 2 hours ago
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.
Comment by unixhero 4 hours ago
Comment by nalekberov 2 hours ago
Comment by ls-a 1 hour ago
Comment by ComputerGuru 7 hours ago
Comment by MaulingMonkey 3 hours ago
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.)
Comment by flohofwoe 7 hours ago
Comment by bluGill 6 hours ago
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.
Comment by Levitating 6 hours ago
Comment by josephg 6 hours ago
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.
Comment by rafaelmn 7 hours ago
Comment by josephg 6 hours ago
I don’t have a problem with cars. But walking is still good for us.
Comment by bluGill 5 hours ago
Comment by lelanthran 3 hours ago
Are you trying to be funny?
Comment by bluGill 3 hours ago
Comment by lelanthran 22 minutes ago
If I'd accidentally written a comment asking whether the intellectual skills I am losing are worth keeping, and make 2x spelling errors in a single short sentence, I'd find the unintended irony hilarious.
(but that's me, maybe you don't find accidental errors that you make to sometimes be funny)
Comment by a012 7 hours ago
Comment by pjmlp 7 hours ago
Comment by jeroenhd 5 hours ago
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.
Comment by mrec 7 hours ago
Comment by delta_p_delta_x 6 hours ago
Comment by jcelerier 5 hours ago
Comment by thrwaway73637 3 hours ago
Comment by dethswatch 5 hours ago
Comment by throwaway85825 3 hours ago
Comment by petilon 6 hours ago
Comment by brunoborges 6 hours ago
I'd be curious to know whether Rust developers believe Visual Studio is the right place for Microsoft to invest Rust specific coding capabilities.
Comment by pdpi 6 hours ago
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.
Comment by isolay 5 hours ago
Comment by bluGill 5 hours ago
Comment by disgruntledphd2 5 hours ago
WSL is really nice, as is Windows Terminal. I particularly love its fonts (but that's probably just me).
Comment by throwaway85825 3 hours ago
Comment by ocdtrekkie 2 hours ago
Comment by philwelch 2 hours ago
Comment by bluGill 2 hours ago
Comment by vouwfietsman 4 hours ago
Comment by rafterydj 2 hours ago
Comment by neutronicus 5 hours ago
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.
Comment by not_a9 6 hours ago
Comment by germandiago 6 hours ago
Because of coding agents? :D
Comment by phire 1 hour ago
And for all we know, it might be officially supported in their internal builds of Visual Studio.
Comment by eterm 4 hours ago
( Edit: I should probably inform the layperson: It was Visual Studio 2022 )
Comment by afdbcreid 5 hours ago
Comment by cwbrandsma 6 hours ago
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.
Comment by CodeCompost 5 hours ago
Comment by neutronicus 5 hours ago
Comment by hanw040519 12 minutes ago
Comment by js8 7 hours ago
Comment by layer8 6 hours ago
Comment by paulluuk 6 hours ago
Comment by layer8 6 hours ago
Comment by delta_p_delta_x 6 hours ago
Comment by SSLy 5 hours ago
Comment by layer8 5 hours ago
Comment by Havoc 3 hours ago
Comment by boredatoms 6 hours ago
Comment by e4m2 6 hours ago
> 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!
Comment by stillpointlab 3 hours ago
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).
Comment by swiftcoder 7 hours ago
Comment by afdbcreid 5 hours ago
Comment by splicebot 1 hour ago
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).
Comment by timedude 1 hour ago
Comment by lukaslueg 2 hours ago
Yes.
May I see it?
No.
Comment by rererereferred 4 hours ago
Comment by tcfhgj 2 hours ago
Comment by paaloeye 1 hour ago
Comment by _joel 7 hours ago
They use wordpress
Comment by seki285 6 hours ago
Comment by echelon 7 hours ago
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.
Comment by tonyedgecombe 6 hours ago
Comment by insanitybit 2 hours ago
Comment by echelon 6 hours ago
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.
Comment by germandiago 5 hours ago
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.
Comment by tomrod 4 hours ago
Comment by edukite 6 hours ago
Comment by nacozarina 2 hours ago
Comment by prisonguard 1 hour ago
Comment by Surac 5 hours ago
Comment by HPsquared 5 hours ago
Comment by ellyagg 5 hours ago
Comment by divs4real 1 hour ago
Comment by guywithahat 3 hours ago
Comment by KingOfCoders 5 hours ago
Comment by okokwhatever 1 hour ago
Comment by macleginn 6 hours ago
Also the use of italics there is rather jarring.
Comment by the__alchemist 7 hours ago
- 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.Comment by jdcasale 6 hours ago
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.
Comment by germandiago 5 hours ago
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).
Comment by m00dy 6 hours ago
Comment by the__alchemist 6 hours ago
- 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)Comment by surajrmal 5 hours ago
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).
Comment by mgaunard 6 hours ago
Comment by okanat 6 hours ago
Comment by Verdex 6 hours ago
If ocaml had a cargo like experience, then I would migrate there.
Comment by saghm 6 hours ago
Comment by Surac 5 hours ago
Comment by saghm 2 hours ago
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.
Comment by mook 6 hours ago
I'm interested in getting back to native application development; the job is on Electron right now and it's… meh.
Comment by bigfishrunning 6 hours ago
* 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)
Comment by vablings 6 hours ago
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
Comment by germandiago 5 hours ago
> 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.
Comment by gregw2 4 hours ago
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...).
Comment by bigfishrunning 3 hours ago
Comment by tredre3 4 hours ago
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.
Comment by SleepyMyroslav 4 hours ago
Comment by mrec 5 hours ago
Comment by Pannoniae 4 hours ago
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;)
Comment by bryanlarsen 6 hours ago
Comment by germandiago 5 hours ago
If you have to iterate a lot the shape of your code... no, it is not any good at this...
Comment by edukite 6 hours ago
I don't know why you think it's only usable but this is your right.
Comment by bigfishrunning 6 hours ago
Comment by larme 6 hours ago
Comment by the__alchemist 5 hours ago
Comment by bigfishrunning 6 hours ago
Comment by varjag 6 hours ago
Comment by Colegno 5 hours ago
Comment by afdbcreid 5 hours ago
Comment by bryanlarsen 3 hours ago
Comment by afdbcreid 3 hours ago
Comment by kccqzy 2 hours ago
Comment by axus 4 hours ago
Comment by minimaxir 3 hours ago
Comment by astarc 1 hour ago
Comment by bitwize 3 hours ago
Comment by this_user 6 hours ago
Comment by ArsenDjukic 4 hours ago
Comment by FrustratedMonky 5 hours ago
Comment by larodi 6 hours ago
Comment by dismalaf 3 hours ago
Comment by DidntUseIt 7 hours ago
What’s a Tier 1 language?
Comment by meindnoch 7 hours ago
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.
Comment by DidntUseIt 6 hours ago
Comment by gshubert17 7 hours ago
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.
Comment by swiftcoder 6 hours ago
Comment by theanonymousone 3 hours ago
Comment by monocasa 2 hours ago
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.
Comment by flohofwoe 6 hours ago
Comment by afdbcreid 5 hours ago
Seems pretty good to me ;)
(I know you're joking).
Comment by sehw 2 hours ago
Comment by aynyc 6 hours ago
Comment by mgaunard 6 hours ago
Comment by dralley 6 hours ago
Comment by mgaunard 6 hours ago
how can one claim it is tier-1?
Also random student, nothing official from Microsoft.
Comment by debugnik 4 hours ago
The project linked above has been posted to HN in the past a few times though.
Comment by pali6 6 hours ago
Comment by DidntUseIt 6 hours ago
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
Comment by 4petesake 1 hour ago
Comment by hatefulheart 2 hours ago
Comment by m3kw9 4 hours ago
Comment by superkuh 4 hours ago
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.
Comment by 0x457 4 hours ago
All breaking changesin rust done via editions and you can mix-and-match editions.
Comment by estebank 4 hours ago
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.
Comment by 0x457 30 minutes ago
Comment by i2talics 4 hours ago
Comment by burakemir 5 hours ago
Comment by cnrcode 5 hours ago
Comment by grougnax 1 hour ago
Comment by sehw 2 hours ago
Comment by LazyIDE 7 hours ago
Comment by adikshatriyag 4 hours ago
Comment by calvbak 7 hours ago
Comment by mtgh2s 6 hours ago
Comment by nazgulsenpai 6 hours ago
Comment by VimEscapeArtist 6 hours ago
Comment by germandiago 6 hours ago
Rust is absolute performance, similar to C++. Go is deliver fast and get a very good performance to effort ratio.
Comment by VimEscapeArtist 2 hours ago