Mozilla and Samsung Collaborating to Bring New Browser Engine to Android
An anonymous reader writes with this bit from The Next Web: "Mozilla and Samsung on Wednesday announced a new partnership to build a 'next generation' web browser engine called Servo. The ultimate goal is to bring the technology to Android and ARM, though the two companies have not shared a timeframe for a possible launch. With the help of Samsung, Mozilla is bringing both the Rust programming language as well as Servo to Android and ARM. Samsung's contribution so far has been an ARM backend to Rust as well as the build infrastructure necessary to cross-compile to Android. In fact, the code is available now on GitHub, as is the source for Rust and Servo."
For those unfamiliar, Rust is Mozilla's new safe systems programming language (kind of like BitC), and Servo is their general project to write a brand new engine using Rust. Rust has an interesting memory model that eliminates much difficulty in reasoning about threaded programs. If you know what you're doing, they claim you can cross compile the code for Android, but no functionality guarantees have been made.
Building a next-gen browser engine sounds like exactly what 'mozilla labs' should be doing.
On the other hand, creating a new language in order to do it, sounds like Engineers whacking off.
The comments look as though at some point Slashdot turned into a gathering of cantankerous change-haters. Was your soup cold again today at the care home's canteen, grandpas?
This is actually the first really exciting language I heard about in a while, on so many points. It absorbs a lot of the FP syntactic sugar and type concepts without turning into a Haskell. Like Erlang, it provides the shared-nothing actor model for concurrent programming at the language level, instead of mucking with threads and global state directly. You seem to be allowed to take your C/C++ libraries along (perhaps with some glue). Rigorous safety is probably not for everybody, but it's generally appreciated in large, network-facing projects. It's not tied to the JVM like Scala. And thank goodness, finally there's a language working with real Unicode characters natively, stepping outside the 1990s-era trap that was UTF-16 (the internal string representation in Rust is UTF-8).
My exception safety is -fno-exceptions.
What concepts does Rust introduce that aren't already present in the latest C++ standard?
Too many to enumerate, but the main one is: not being a crazy impractical language which so many programmers were ill-taught to use.
Which aren't already present in Scala?
Not using a Java VM.
Doing actual Unicode natively, not the UTF-16 bastardization of it.
Which aren't already present in Go?
I'll let the FAQ take this one...
My exception safety is -fno-exceptions.
I love Android and Chrome and most Google products, but the last thing I want is Google throwing their weight around with the OS. The whole point of Android is that it is open. If somebody thinks they can make a better browser more power to them - these aren't the days of IE6 - I don't want an "Optimized for Chrome" experience.
If they come up with some good ideas then everybody wins. Competition is good for the consumer. I like Chrome for all the automatic syncing across all my platforms, but the last thing I want is for them to stagnate due to lack of competition.