| ▲ | zozbot234 7 hours ago |
| Rust has straightforward support for every part of OOP other than implementation inheritance, and even implementation inheritance can be rephrased elegantly as the generic typestate pattern. (The two are effectively one and the same; if anything, generic typestate is likely more general.) |
|
| ▲ | 9rx 5 hours ago | parent | next [-] |
| > Rust has straightforward support for every part of OOP other than implementation inheritance Except the only thing that makes OOP OOP: Message passing. Granted, Swift only just barely supports it, and only for the sake of interop with Objective-C. Still, Swift has better OO support because of it. Rust doesn't even try. Not that OOP is much of a goal. There is likely good reason why Smalltalk, Objective-C, and Ruby are really the only OOP languages in existence (some esoteric language nobody has ever heard of notwithstanding). |
| |
| ▲ | zozbot234 5 hours ago | parent [-] | | You just need to define a trait, then you can use dynamic dispatch. | | |
| ▲ | 9rx 5 hours ago | parent [-] | | You can, but then you don't get any of what OOP actually offers. Message passing isn't the same thing as dynamic dispatch. OOP is a very different paradigm. | | |
| ▲ | anonymars 4 hours ago | parent [-] | | I think you are both unknowingly talking past each other: my understanding is that Smalltalk-style "object-oriented programming" ("everything is a message!") is quite distinct from C++/C#/Java/Rust "object-oriented programming" ("my structs have methods!") | | |
|
|
|
|
| ▲ | rvz 7 hours ago | parent | prev [-] |
| I think we have seen enough since the best example of a Rust browser that is Servo, has taken them 14 years to reach v0.0.1. So the approach of having a new language that requires a full rewrite (even with an LLM) is still a bad approach. Fil-C likely can do the job without a massive rewrite and achieving safety for C and C++. Job done. EDIT: The authors of Ladybird have already dismissed using Rust, and with Servo progressing at a slow pace it clearly shows that Ladybird authors do not want something like that to happen to the project. |
| |
| ▲ | tomjakubowski 6 hours ago | parent | next [-] | | Until just a couple years ago, Servo had been a pure research project with no goal of ever releasing a full browser (and it was abandoned by Mozilla in 2020). Igalia had five engineers working full time who turned that science project into v0.0.1 in less than two years. | |
| ▲ | josephg 6 hours ago | parent | prev | next [-] | | > Fil-C likely can do the job without a massive rewrite and achieving safety for C and C++. So long as you don't mind a 2-4x performance & memory usage cost. | |
| ▲ | satvikpendem 6 hours ago | parent | prev | next [-] | | Servo was essentially integrated into Firefox. It was not a browser in itself until it was put into a foundation on its own. | |
| ▲ | tvshtr 7 hours ago | parent | prev | next [-] | | The RUST ecosystem barely just started getting into shape on the GUI toolkits frontend... So perhaps save your criticisms for something that wasn't born out of the vacuum. | |
| ▲ | bigyabai 6 hours ago | parent | prev [-] | | > Fil-C likely can do the job > Job done. Seems like you forgot a few stops in your train of thought, Speed Racer. |
|