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.
They must've spent tens of dollars on this.
Rust. Why?
It's corrosive, or perhaps simply 'subject to neglect and decay'. :-D
An all-out sprint on a treadmill doesn't take you anywhere. Can we please stop reinventing the wheel, over and over and over again?
http://slashdot.org/comments.pl?sid=3420641&cid=42739283
Google should "beat" Samsung into line. In other wprds, Google should pressure Samsung to "toe the line" or else...
Just like it did to Acer when it (Acer), was attempting to flirt with China's AliyunOS.
Help me find the motivation to spend time learning a Mozilla language and develop a program with it when so many of its projects just get the axe when they lose their shine. If even Thunderbird is subject to being eliminated, that makes Mozilla the Firefox group again (back to NCSA Mosaic) as far as what they can be counted on to stay behind.
Hrm, perhaps I just answered my own question - when parts of Firefox are built with Rust, then it'll be safe to try. Heck, even XPCOM is still alive.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
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.
I know so many languages now!
Rust is a generic language (like C), except:
1) If and while do not need parentheses
2) "let" for local variables (like "my" in perl)
3) Variable types follow the variable definition instead of preceed
4) if/else, instead of if/fi, if/elsif, or other options.
5) printf is io::println
6) ... and so on.
You could almost learn one generic base language and keep a matrix of "differences" which map the generic to the language of interest. How many different ways are there to write a for() loop, anyway?
I'm wondering if we shouldn't just have one generic language, and use different compilers/runtime systems to get various effects.
What's so special about this language anyway, that couldn't be done using C source (perhaps with some extensions) but a different compiler and runtime system?
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.
When they release a browser that is useable in Linux at all, even on a full sized system, again.
We're not pissed with change. We're pissed at reinventing the wheel. Again.
http://golang.org/
What about using D (dlang) for a substitute to C++ instead of reinventing the wheel?
There is no need for a new C++ substitute now that we have tons of them ( Go, D, Objective-C, Lua, C sharp...)
Large outside levels... curved walls... it was cutting edge... and one of my favorite games
The idea is to kill C++ and Java. Both C++ and Java suffer from ill though-off syntax and design. They were developed under the pressure of an economical boom instead of the rigor you'd want and expect. Now that processors aren't getting any faster, there's a real opportunity to fix things.
Syntax wise, Go is better no questions asked. It's so much cleaner and smaller language. It has two defects: NULL pointers are still on and the current runtime implementation is not appropriate for system development. Rust on the other hand is mostly a cleaned up C++.
The thing is, Go's runtime can be rewritten if system development is in demand. Even the NULL pointers thing can be addressed with Go2 with very little porting. Rust on the other hand can't remake it's syntax.
Personally ? C forever :D
Firefox is probably the worst coded open-source programming project in the history of forever. Its programmers have never heard of any algorithm more sophisticated than a simple swap-sort. It is a classic example of the garbage produced by illiterate code-monkeys when their target platform can have insane amounts of RAM and CPU power.
I never even knew you could have an app on Windows where the system GUI elements of a window didn't have their own thread. Anything that stresses Firefox (like more than a handful of threads) will not only stall Firefox but the entire computer, because the Mozilla clowns have never heard of memory management.
This explains why the putrid Firefox codebase is NOT worth porting to Android devices. Android users expect software to work properly. Mozilla's answer (you MUST be using fast quad-cores with more than 4GB of RAM) can't be given to Android users (yet). However, the idea that the brainless clods at Mozilla need to 'invent' another computer language is just plain disturbing. Multi-threading is NEVER an issue of automation. No, it is an issue of knowing how computers work- how to manage memory dependencies, and how to create thread-safe libraries that can be used by many threads at the same time without issues.
An abstraction machine that allows threads without the programmer thinking properly is as junky as the attempts at automatically producing multi-core code from non-parallel algorithms. The end result will be slower than single-threaded code, and far less reliable, while using massively greater memory resources.
Want to create multi-threaded code? 1) learn to program properly 2) learn to design properly
Firefox gets worse (from a coding POV) with each version. On the powerful desktop, the added features that come with each new version make an acceptable trade-off. However, this doesn't mean that Mozilla's coding teams are not a very, very, very bad joke.
I couldn't really care less about syntax. If something is C-like, I'll learn it faster, but unless it's at INTERCAL levels of irritation, I'll probably manage.
Go has non-optional garbage collection. Not a contender.
Rust could be useful, but at this point it's all down to the libraries and efficiency to make me decide if I really want to remember the difference between and owned shared crate ~ and a frozen non-owned local box @ and a crated share-box & or whatever.