Earlier quoted context omitted.
You should look into why they chose it and what their implementation plan is. They evaluated multiple languages, including rust. There were some specific issues with rust that made it unsuitable for them. Swift was a bit of a dark horse candidate that the developers ended liking. There is no immediate plan to switch to anything so it’s still C++. They may not ever switch. Swift’s cross platform support isn’t there ye…
I couldn't find any information beyond that Tweet I linked.
I tried Servo
151–160 of 256 posts
Re: I tried Servo
#152Earlier quoted context omitted.
I've heard the same thing about monetising search engines. Kagi didn't get the memo, and last I've heard they're turning a profit. Sure, only nerds would pay for it, but not all products have to capture 100% market share.
But independent browsers need this metric. Good luck convincing website owners to test against your non-chromium browser with 0.3% market share.
Re: I tried Servo
#153Earlier quoted context omitted.
Strange. I remember reading nothing but complaints about Pocket when they bought and integrated it. I guess it grew on people.
> Strange. I remember reading nothing but complaints about Pocket when they bought and integrated it. I guess it grew on people. They bought Pocket to assuage complaints from people that they were "selling out" by including an optional button in Firefox (which never even loaded any code until it was clicked) that allowed you to set up an integration with your Pocket account and send articles there. They were clear th…
That's a horribly dishonest explanation. The way that Pocket was integrated into the browser was obviously shady. Most clearly, there was no reason for it to be anything other than an extension. Mozilla earned most of the complaints that they were shoving Pocket down user's throats. The complaints weren't even primarily about "OSS purism"; Mozilla was simply being disrespectful to their users.
Re: I tried Servo
#154Earlier quoted context omitted.
I have to be honest that I don't really understand the appeal of Ladybird from a purely technical perspective. It is written in C++, just like all the existing engines (yes there is some Swift, but it is negligible), so what benefit does it provide over Gecko or Blink? With Servo, I can see there is a distinct technical design around security and parallelism.
Rust does not produce magic in the assembly code. It does not even produce faster assembly code. Rust toolchain on it's own does not even produce assembly code. It just passes that to LLVM that does THE ENTIRE optimization. Without LLVM (written in C++) doing the heavy lifting, Rust is probably slower than V8 (written in C++) running JavaScript. There's no technical marver in Servo compared to Ladybird. I don't under…
As for the rest of your comment... I believe Rust now has MIR-based optimizations, so it's no longer the case that "THE ENTIRE optimization" is due to LLVM. But it's a non-sequitur to say that Rust would be slower without LLVM. Rust doesn't do many optimizations on its own, because it's quite frankly a lot of boring tedium to implement an entire optimizing compiler stack, and if you've got a library you can use to do that, why not? If no such library were available, Rust would merely be implementing all of those optimizations itself, much as V8 implements those optimizations itself.
Re: I tried Servo
#155Earlier quoted context omitted.
Questions for the Rust UX experts: Is Dioxus (or Leptos) much more performant than Tauri/Electron? I want to (1) build blindingly fast, low-latency, super performant UX for users, which precludes Tauri/Electron (something I'm currently using and unhappy about), but I also want to (2) maintain developer velocity, (3) have access to nice UX primitives and widgets, and (4) have it look nice and modern. Javascript/browse…
Slint recently added Bevy support. I’ve been keeping an eye on it since I’ve used Qt and love working in Qml.
Re: I tried Servo
#156Earlier quoted context omitted.
But independent browsers need this metric. Good luck convincing website owners to test against your non-chromium browser with 0.3% market share.
Okay but if everyone building the websites are using the browser with 0.3% market share it won't matter.
Re: I tried Servo
#157[flagged]
Re: I tried Servo
#158I feel like Mozilla is going to join the annals of history with the likes of Xerox in the category of "Companies that created the technology of the future and casually tossed it to the wayside for competitors to scoop up" with Rust and Servo. It's mind-boggling that for a company so often seemingly playing catch-up with Google, Mozilla actually leapfrogged Google in the browser development space for a time, and then.…
It is difficult to get people to pay for it. People happily pay for 10€ beer but asked ”friends” about how to bypass WhatsApp’s 0,99 lifetime licenses.
I would not be happy to pay that much for a beer
Re: I tried Servo
#159Earlier quoted context omitted.
No, you can't. You can donate to the Mozilla Foundation, but you cannot donate to the Mozilla Corporation to actually fund Firefox development.
Exactly. You can donate to a bunch of management people with multiple million dollars compensation that are running the company into the ground.
Re: I tried Servo
#160Earlier quoted context omitted.
> [Rust] was basically the one to beat until they figured out it wasn't going to work. I'd love to know more about this.
Found it! It was on a podcast: https://changelog.com/podcast/604 Here are some key quotes: "something that matters to us a lot is OO. Web specs & browser internals tend to be highly object-oriented, and life is easier when you can model specs closely in your code." "So what I’ve done is I’ve asked a bunch of people to “Please implement these things in a couple of different languages. And then we can talk about how th…
That's a rather strange criticism, seeing as the only thing about objects that's slightly involved to express in Rust is implementation inheritance; and even then, it can be phrased in a very reasonable way by using the generic typestate pattern. I.e. expressing a class that can be inherited from as a generic object MyBaseClass, where T holds the "derived" object state (and can itself be generic in turn, thereby extending the type hierarchy) and methods can either be implemented for any MyBaseClass or for some specific MyBaseClass.
(This aims to do the right thing whenever a method on the base class relies on some method implementation that's defined deeper in the hierarchy, i.e. there is an indirection step, aka open recursion. That's the part that is missing when using simple composition.)