Live data from Hacker News

Migrating away from Rust

deadmoney.gg

621–630 of 799 posts

Re: Migrating away from Rust

#621

Earlier quoted context omitted.

Great write-up. I do the array indexing, and get runtime errors by misindexing these more often than I'd like to admit! I also hear you on the winit/wgpu/egui breaking changes. I appreciate that the ecosystem is evolving, but keeping up is a pain. Especially when making them work together across versions.

If you're looking for a stable GUI toolkit, there is Slint

Was not familiar with this - looks great!

Re: Migrating away from Rust

#622
post #341

One of the smartest devs I know built his game from scratch in C. Pretty complex game too - 3D open-world management game. It's now successful on steam. Thing is, he didn't make the game in C. He built his game engine in C, and the game itself in Lua. The game engine is specific to this game, but there's a very clear separation where the engine ends and the game starts. This has also enabled amazing modding capabilit…

Do you know why he supports MacOS, but not Linux?

Wine works really well on linux but not on macos.

Re: Migrating away from Rust

#623
post #596
post #592

Earlier quoted context omitted.

Python has it as well.

Ah my mistake. It’s been at least 5 years since I’ve written it. I’m honestly surprised that JS has moved no where on it considering all of the fancy things they’ve been adding.

It has been proposed, but since there is all the process on how features get added into the standard, someone needs to champion it, and then there is the "at least two implementations" factor.

https://github.com/tc39/proposal-pattern-matching

Re: Migrating away from Rust

#624
post #97

Earlier quoted context omitted.

New languages / packages / frameworks may need to collaborate with LLM providers to provide good training material. LLM-able training material may be the next important documentation thing. Another potentially interesting avenue of research would be to explore allowing LLMs to use "self-play" to explore new things.

How can it compete with vast amount of trained codebases on Github? For LLMs, more data equals better results, so people will naturally be driven to better completion with already established frameworks and languages. It would be hard to produce organic data on all ways your technology can be (ab)used.

Allegedly one of the ways they've been training LLMs to get better at logic and reasoning, as well as factual accuracy, is to use LLMs themselves to generate synthetic training data. The idea here would be similar: generate synthetic training data. Generating this could be aided by LLMs, perhaps with a "playground" of some sort where LLMs could compile / run / render various things, to help select out things that work and things that don't work (as well as if you see error X, what the problem might be).

Re: Migrating away from Rust

#625
post #590
post #560

Earlier quoted context omitted.

Same here, and if I get bored with Java, there is also Scala, Kotlin and Clojure to chose from. However, I would still prefer C# or F#. Hence why I enjoy both stacks, lots of goodies to chose from, with great tooling.

I would do C#, but I don’t want to be in async/await hell. Also it’s subjective but PascalCase really irks me.

PascalCase has been my favourite since MS-DOS days, I have been through most Borland products, and Microsoft ones, alongside many Pascal influenced languages, thus it feels like home. :)

But yeah it is subjective, also don't have much qualms with other alternatives.

Re: Migrating away from Rust

#626

Earlier quoted context omitted.

> > The lower levels are buggy and have a lot of churn > > The stack I use is Rend3/Egui/Winit/Wgpu/Vulkan The same is true if you try to make GUI applications in Rust. All the toolkits have lots of quirky bugs and broken features. The barrier to contributing to toolkits is usually also pretty high too: most of them focus on supporting a variety of open source and proprietary platforms. If you want to improve on some…

Arc is a very slow and primitive tool compared to a GC. If you are writing Arc everywhere, you would probably have better performance switching to a JVM language, C#, or Go.

This is incorrect if you are using Rc exclusively for back references. Since the back reference is weak, the reference count is only incremented once when you are creating the datatype. The problem isn't that it's slow, it's that it consumes extra memory for book keeping.

Re: Migrating away from Rust

#627
post #547

Earlier quoted context omitted.

He would vouch as great as he might be, he has a bias, and Mono GC was never a great implementation. Also here is how great his new Swift love performs in reality against modern tracing GCs, https://github.com/ixy-languages/ixy-languages

Interesting link, but that's a nearly 7 year old version of Swift (4.2) running on Linux. I wonder how the performance would be with Swift 6.1 which has improved support for Linux.

Probably much better, given the improvements on the Swift optimizer, but just goes to show "tracing GC" bad, "reference counting GC" good isn't as straighforward as people make it to be, even if they are renowned developers.

Re: Migrating away from Rust

#628
post #587
post #554

Earlier quoted context omitted.

It is ironic how Java got that stigma and other systems that are just as bad, or worse, like Objective-C, have not.

Well I have never used Objective-C so I can't comment on it.

On Objective-C, due to the way the language works, besides ClassFactoryGeneratorFactories, you would need to add all parameter names to the identifier.

Here, enjoy https://github.com/Quotation/LongestCocoa

There is even a style guide on it,

https://developer.apple.com/library/archive/documentation/Co...

Re: Migrating away from Rust

#629

Earlier quoted context omitted.

What I mean is, I want to be able to use i32/i64/u32/u64/f32/f64s interchangeably, including (and especially!) in libraries I don't own. I'm usually working with positive values, and almost always with values within the range of integers f32 can safely represent (+- 16777216.0). I want to be able to write `draw(x, y)` instead of `draw(x as u32, y as u32)`. I want to write "3" instead of "3.0". I want to stop writing…

Sounds like a good use of Num [1] https://docs.rs/num-traits/latest/num_traits/trait.Num.html

Please correct me if I'm wrong, but I don't think this would let me, say, pass an i32 returned from one method directly as an f64 argument in another method.

Re: Migrating away from Rust

#630

Earlier quoted context omitted.

At this point I really wonder why anyone would use Rust for anything other than low-level system tools/libraries or kernel development ... Anything with a graphical shell is probably better written in a GC'd language, but I'd love to hear some counter-arguments.

It depends on the kind of game you’re making. If it’s a really logic-intensive game like Factorio (C++), or RollerCoaster Tycoon (Assembly), then I don’t think you can get away with something like Unity. For simpler things that have a lot of content, I don’t think you can get away with Rust, until its ecosystem grows to match the usual game engines of today.

I mean, you could write your logic engine in Rust (as a library), and do all the rest in a more ergonomic language, with a GC.
Post reply on HN