Earlier quoted context omitted.
If we have AGI, it can just solve all the memory issues in the existing codebase instead of rewriting it all.
But then we'd still be left with a C or C++ codebase.
Rust is tier-1 language at Microsoft
491–500 of 520 posts
Re: Rust is tier-1 language at Microsoft
#492Earlier quoted context omitted.
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…
> 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 ski…
An interesting point here as others have already stated. If you are working inside of a game engine, then all of these primitives and structures are already provided for you.
Embark studios are a huge rust supported and have released two very large games in the past 4 years, and they have tons and tons of big rust projects, tooling but no game written in rust for the reasons other people stated. There is no game engine toolchain like UE5
Re: Rust is tier-1 language at Microsoft
#493I 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.
Get back to me when Rust has a stable ABI and can produce dynamically linked binaries.
Re: Rust is tier-1 language at Microsoft
#494Earlier quoted context omitted.
You're right, I better do a 360 on my comment ;)
A 180 might be more useful :)
Re: Rust is tier-1 language at Microsoft
#495Earlier quoted context omitted.
> From the perspective of high level application development, I can't see a technical use case for a language other than Rust. Bit of a red flag if you really can't.
I know, haha. It's a bit of an absolute statement but as far as all of the features I look for in the context of creating scalable and maintainable software (especially in the age of agent-assisted coding) - Rust has been the most productive, least frustrating language I have worked with. It's basically TypeScript but runtime exceptions are impossible. If it compiles, it works - so the _only_ thing you worry about is…
I also have years of experience with Rust, but I moved off Rust a few years back simply because I'm sick of the anemic stdlib and lack of mature ecosystem around anything even one inch off the beaten path. Cargo is a shitshow and Rust forces you into an npm-like experience for a whole bunch of functionality that ought to be included in the box. You're juggling libraries with versions like 0.1.2 of which there's seven, none of which are feature complete and five of which are semi abandoned. Then you run into the orphan rule trying to fix or extend any of them.
I kind of think some other language will come along, take the borrow checker, take all the type conveniences that Rust stole from OCaml that make Rust so nice, glue it all to a Python/Go/dotnet style fat stdlib, complete with an optional GC for all the things that don't actually need bare metal performance (just stick an arena in stdlib), and Rust will feel like a clunker by comparison.
Re: Rust is tier-1 language at Microsoft
#496Earlier quoted context omitted.
As mentioned: gaming, most of enterprise dev, graphics/gpu/cad, desktop, certain classes of embedded. Broadly speaking, outside of hacker/web/creative culture, the default is windows. Regardless of how evil gigantic companies can be, or what the ideal world should look like: from a pure usability perspective, windows is top of the list. If I got 5$ every time a linux/mac enthousiasts has to tell me they just cannot r…
No disagreements on things not working right on Mac/Linux, it's definitely a frustration! I would argue against the idea that it's the default for most enterprise dev. What you refer to as creative/web culture I would refer to as a newer generation of enterprise dev written in (I know) JS, TS, Electron etc. There is a lot of cross platform stuff out there, at least for clients, and Linux has taken up a lot of ground…
Re: Rust is tier-1 language at Microsoft
#497Earlier quoted context omitted.
From a software design standpoint, it certainly takes some adjustment going from OOP to the compositional architecture and structural trait system used by Rust, but it's not that big a shift. The biggest downsides are the poor standard library that ships with Rust and the non prescriptive project structure which puts too much authority on the writer to figure out. The biggest wins are that runtime exceptions and conc…
We've seen several anecdotes where JIT languages (e.g. Java) outperform Rust in throughput and latency in long-running server programs.
This isn't me glazing Rust, this is just the boring observation that a VM language is necessarily going to be outperformed by a language without a VM. VMs have good attributes, but they are never zero cost.
Re: Rust is tier-1 language at Microsoft
#498Earlier quoted context omitted.
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 > goo ar…
jdcasale you are right that Arc > is a code smell but I would take that a bit further that locking immutable data is even more of a smell. The real bad guy in this case is the RwLock not Arc. For anything that you hydrated once and never mutate you do not need the RwLock. Arc just clones the pointer so it is safe to share for concurrent reads so something like Arc is fine and if you need initialization locking then L…
Re: Rust is tier-1 language at Microsoft
#499Earlier quoted context omitted.
Get back to me when Rust has a stable ABI and can produce dynamically linked binaries.
Rust supports opting into the C ABI
Re: Rust is tier-1 language at Microsoft
#500With 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.
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.
Note: You ask different people, and they will all have their favorite tool kits. GPUI is very promising but new. There are a pile of others people will vouch for like Druid, Tauri (Electron-like but faster?) Slint (As the sibling poster pointed out), Iced, Qt bindings etc. I am not sure about native Windows etc bindings: I recognize that OS-native things like that are the most performant, but for me it's worth it to make my programs cross-platform and not worry about OS-specific things.
Note: EGUI is an immediate mode GUI, which isn't for all applications. But it has never limited me, and have written some complex UIs with integrated 3D etc.