7 ms·
I was very critical of Mozilla in the past about all their "science projects" like Rust. While I appreciate Rust, I thought it was wrong for Mozilla to be wast
by noncoml 9y ago
I was very critical of Mozilla in the past about all their
"science projects" like Rust. While I appreciate Rust, I thought it was wrong for Mozilla to be wasting resources on it, instead of focusing on Firefox.
I was so harsh with them only because I strongly believe that Firefox is my only hope for a free web.
But then I tried 57, and I must admit, boy was I wrong. This thing is fast! I haven't stopped recommending it to friends and colleagues!
Good job folks!
- kenhwang 9y agoRust was pretty much designed to solve problems for Firefox. It's IMO the best bet Mozilla has made these last few years and we're just starting to see them reaping the rewards.
- MBCook 9y agoIt was denintely a long term play. The worry i had was what if they get 80% down that road and find out it would t work for some reason (say they wouldn't be able to get performance high enough)? They’d have lost a TON of time and resources. Glad to see they got it to work.
- tmzt 9y agoI don't know how this relates to the creator of Rust or its actual origin story, but Mozilla has been trying to get many of the same results out of C++ for a long time. You can look at the evolution of smart pointers in the codebase, along with more formal ways of representing error return codes (borrowed from MS COM), and general good practices. It seems at some point they became aware of how unsuited C++ is for parallel processing, and how important it would be for browsers in the future. Even compartmentalization or running tabs in their own process is a form of parallelization. This requires an efficient way of sharing memory and preventing race conditions and errant writes, as well as a way to protect these processes from cross-site scripting attacks, buffer over- and underruns, etc. Computing hardware has also moved on from the CPU-centric world and the gains in battery life from dedicated GPU hardware being used even for rendering tasks, and now for font processing and other things were too good to pass up. I'm a long time follower of Mozilla's development, and extremely excited about what's happening with Firefox. (I'm also currently a Chrome user, leaving in large part due to profile corruption issues and inferior built-in development tools. I hope to be able to run Firefox and WebRender on both Ubuntu and Windows.)
- abiox 9y ago> (borrowed from MS COM) are you referring to microsoft's com (component object model)?
- tmzt 9y agoYes, though more to HRESULTS from the Windows API. This meant return values could indicate success or a specific error which could be determined with macros. Rust actually has a similar mechanism in its standard lib, the Result enum whuch resembles Maybe from Haskell, but has either a returned value if successful (which can be the empty object ()) or an Error. XPCOM was modeled on the Microsoft version using the same vtable tricks that it used to enable dynamic dispatch through interfaces.
- steveklabnik 9y agoSmall note, Option in Rust is Maybe in Haskell, Result in Rust is Either in Haskell.
- Turing_Machine 9y agoHow much Rust is actually in the new Firefox? I'm not seeing any based on a casual click-around in the repo, though I'll freely admit I haven't scanned the entire source tree. Edit: if there is any, can someone give me a link to the part of the source tree that has it?
- coffee-- 9y agothe FIDO U2F code is rust: http://searchfox.org/mozilla-central/source/dom/webauthn/u2f-hid-rs http://searchfox.org/mozilla-central/source/dom/webauthn/u2f... otherwise here's the list: http://searchfox.org/mozilla-central/search?q=&path=*.rs%24 http://searchfox.org/mozilla-central/search?q=&path=*.rs%24
- Turing_Machine 9y agoThanks.
- kenhwang 9y agoRead about the first bit of Rust shipping here: https://hacks.mozilla.org/2016/07/shipping-rust-in-firefox/ https://hacks.mozilla.org/2016/07/shipping-rust-in-firefox/ And many of the Rust things that make FF56+ fast can be found here: https://wiki.mozilla.org/Quantum https://wiki.mozilla.org/Quantum
- noncoml 9y agoGreat pointers, thanks. Do they also have any write-up on how did they find Rust during these changes? Was the back count lower than usual? Did the see an increase on productivity?
- 482794793792894 9y agoThese components were built as part of the Servo project and then ported to Firefox, so you'd probably just want to ask the Servo team directly. You can find them on IRC, in the channel #servo on irc.mozilla.org. There is https://blog.servo.org/ https://blog.servo.org/, but it's mostly gradual updates on things, not a general overview.
- thomasfortes 9y agoIf you look at great science projects like the LHC, a lot of the funding is "wasted" building the infrastructure needed to actually build the project, while Mozilla missed the target a few times "Firefox OS", I never saw Rust with bad eyes, it was made to enable Firefox to become a top tier browser again.
- tmzt 9y agoIt's like CERN, why did they waste all those resources on this World Wide Web thing? Couldn't they just linotype their papers like everyone else?
- Brakenshire 9y agoIronically Firefox OS would become a lot more viable with these sorts of performance improvements. Using Firefox Nightly I have actually felt an occasional sensation of blurring between native and web, because of how quickly some sites render and respond. I wonder how applicable these innovations will be on the mobile web. You'd have thought parallel processing would be particularly important in mobile processors where the single core speed is often a fraction of the multi core speed.
- dralley 9y agoFirefox OS was ahead of it's time in the most literal sense. What they really should have done was FIRST work on all these new web APIs that allow you to make web apps that can accomplish things that only native apps could do before. They didn't exist 5 years ago, and that was a problem. Perhaps if they focused on making web apps as capable as native apps first, it would have been a viable platform.
- Manishearth 9y agoAll the PWA stuff Chrome is doing is basically moving in this direction, from the opposite end, really. Instead of building an OS that needs a web based app system, they go in reverse by taking their existing OS and allowing for webapps to be work more like regular apps. This probably will involve more APIs and such.
- syshum 9y agoSo you are one of those that "Open Web" == performance only and you look the other way on things like EME, Pocket, and various other things that lower Privacy and betray the very foundation of the "Open Web"
- noncoml 9y agoThat's as a bit unfair conclusion. I just believe that if Firefox dies then for sure "Open Web" will die. But, yeah, of course I am not happy with Pocket. But it still better than using Chrome.
- jopsen 9y agoCurious what is the concern with pocket?
- noncoml 9y agoIt's troubled past and weird current state, doesn't make me comfortable with sharing any info that Mozilla shares with them.
- nnethercote 9y agoMozilla acquired Pocket a while back. So "shares with them" really means "shares with itself" :)
- syshum 9y ago1. It was 7 mos ago, I do not consider that "Awhile Back" 2. Mozilla Inc acquired it as a Commercial Proprietary Venture, not as a Open Source project under the Mozilla Foundation the non-profit 3. While it is Owned by Mozilla Inc, it of operated as a Separate Commercial Company separate from the Non-Profit so no it is "shares with it self" 4. The integration occurred long before the acquisition
- bigbugbag 9y ago
- bigbugbag 9y agoI don't care about firefox being faster, it has been fast enough for years. I care for functionality that i'm losing because extension are dropped, because features are dropped, because unwanted features are added. I care about my voice being heard and being dismissed with attitude. I care about privacy and freedom. For these reasons I switched to waterfox.