Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Mozilla Programming

Mozilla and Samsung Collaborating to Bring New Browser Engine to Android 111

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.
This discussion has been archived. No new comments can be posted.

Mozilla and Samsung Collaborating to Bring New Browser Engine to Android

Comments Filter:
  • by CockMonster ( 886033 ) on Wednesday April 03, 2013 @01:07PM (#43350135)
    Rust. Why?
    • Re: (Score:2, Funny)

      by Anonymous Coward

      Can you have Rust on Chrome?

      Fuck this is confusing.

    • by Anonymous Coward

      I would have appreciated a move to Go more, but they probably wanted something without any influence from Google.

      • I like Go, but it wouldn't have worked for this purpose. They want to be able to do manual memory management, for example.

    • Rust. Why?

      Because Rust Never Sleeps!

    • Well I'll be damned , give it some time, it can turn into diamonds.
    • by Anonymous Coward

      Rust. Why?

      Because there is room for a better systems language. Lots of apps languages have appeared with their garbage collectors, byte codes and JIT run-times. We've seen a plethora of 'dynamic' and/or 'scripting' languages as well. You can't make bare metal systems out of these things without unacceptable performance compromises, so all contemporary systems are still based on C, C++ and Objective-C.

      Read the reference manual. You'll find a language that can do anything you might do with C, but also provides high

      • A clean, modern systems language would be nice to have. Too bad Rust looks like the bastard offspring of of a C++, VB, and Perl threeway. I see gobs of punctuation peppered everywhere where a much simpler syntax could be employed. Do you really need to have namespaces separated by "::" instead of "."?

        • by Thiez ( 1281866 )

          When you also use '.' for method calls and accessing fields of a struct, using '::' instead of '.' for namespaces doesn't seem like a bad idea.

    • "It supports a mixture of imperative procedural, concurrent actor, object-oriented and pure functional styles."

      It is the only natively compiled language that I know of that tries to offer those things.

      • that and C++.

        imperative procedural - obviously
        concurrent actor - well, depends what you mean by that, but the new standard has std::async and lambdas that's easy to use. (eg [oopscenities.net])
        object-oriented - obviously
        functional styles - had this for years in the STL.

        • that and C++.

          Your statements are dangerously close to claiming that a dog with four extra legs bolted on is an acceptable octopus.

          "concurrent actor" means CSP/Erlang-style/Go-style active computational entities. "functional style" is supposed to be STL? It's weird, though, that I've never seen anything STL-like in any *actual* functional language.

          C++ allows you to *implement* a lot of stuff on top of it, but it ends up looking like the eight-legged dog. And it *still* doesn't have proper modules. What a disgrace, thirt

  • 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 [slashdot.org]

    • Re: (Score:3, Interesting)

      by MightyYar ( 622222 )

      Some wheels are better for certain uses than others. For some things, you have pneumatic tires, for others, you have solid tires. Spokes can be made of wood, metal rods, plastic, metal castings, or stamped sheet metal. Sometimes you want a slick tread, sometimes you need channels for water, sometimes you need little spikes for traction. Creating one wheel design for all applications would result in an abomination.

      Taking the syntax and some concepts from C++ and building upon them is not "reinventing the whe

      • Re: (Score:1, Insightful)

        What concepts does Rust introduce that aren't already present in the latest C++ standard? Which aren't already present in Scala? Which aren't already present in Go? Do you really want me to believe that memory safety, concurrency, generics, and exception handling present in half-a-dozen off-the-shelf (and mature) languages weren't sufficient? (And let's not forget that every new language departs from existing tool chains that service to multiply development efforts.)

        I'll say it for the umpteenth time on Sla

        • by 21mhz ( 443080 ) on Wednesday April 03, 2013 @02:49PM (#43351233) Journal

          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 [github.com] take this one...

        • It has the one thing that matters: a real type system [wikipedia.org].

          C++ is an unparseable mish-mash of incoherent and unsafe components. More complex than Common Lisp with none of the benefits... AFAICT half the language exists just to support obsolete memory management strategies. And the other half exists to compensate for having an extremely unexpressive type system grounded in glorified bit fields of varying length./p

  • 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.

    • by Anonymous Coward

      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.

      Why? Let Mozilla and Samsung do this. It brings things to the table for us to choose from. Not have one company force us all to use what they only find best. No one says you have to use it.

    • Why would Google do that, when Google themselves help fund Mozilla?

    • by Rich0 ( 548339 ) on Wednesday April 03, 2013 @03:02PM (#43351343) Homepage

      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.

  • 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.

  • by Qwavel ( 733416 ) on Wednesday April 03, 2013 @01:54PM (#43350649)

    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() l

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      You could have gone to rust-lang.org and checked instead of complaining, you know. Rust has language features that are claimed to support memory safety and concurrency. It also has generics, exception handling, optional task-local GC, etc.

      All in all, different from C in more ways than just cosmetics. Whether the effort spent in producing this language is merited is another topic.

    • 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?

      I've only spent a few minutes reading through the tutorials, but I'm thinking section 3.1 is probably significant:

      http://static.rust-lang.org/doc/tutorial.html#syntax-basics [rust-lang.org]

  • Rust is good for you (Score:5, Interesting)

    by 21mhz ( 443080 ) on Wednesday April 03, 2013 @02:20PM (#43350935) Journal

    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).

    • by TopSpin ( 753 )

      The comments look as though at some point Slashdot turned into a gathering of cantankerous change-haters.

      There are a lot of malcontents around here. Not all of us, however.

      There is plenty of room for a good systems programming language. No, we probably don't need another managed, exclusively garbage collected, JIT compiled, VM hosted, 'dynamic' application language. And we've certainly collected enough Javascript front-end languages recently. That's not the intent of Rust.

    • We're pissed because it's one more language-of-the-month the managers will hear about and want the next project coded with it.

      • by 21mhz ( 443080 )

        I see. But why are you, a cubicle peon, slacking off on Slashdot when it's only 4.36 pm? Your manager wants those PHPs done yesterday!

    • by Animats ( 122034 )

      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.

      That's encouraging. The Go language designers tried to do that, but didn't quite get it right. They talk a good game of "Don't communicate by sharing memory; share memory by communicating". But in reality, Go shares data (usually, too much data) between concurrent tasks. When you pass a reference through a Go channel, you're sharing data. Go is prone to race conditions. You can even break through the memory model and craft exploits by exploiting race conditions. As a result, Google's AppEngine has to lock d

  • When they release a browser that is useable in Linux at all, even on a full sized system, again.

    • by Anonymous Coward

      So Firefox doesn't work on Linux? I've been using it for years, and didn't realize that. Perhaps you'd like fullscreen IE10 from Windows 8 ported to KDE or whatever it is you're using.

    • I've not had any real trouble with Firefox on my Linux systems since somewhere around FF5 or so.

Every nonzero finite dimensional inner product space has an orthonormal basis. It makes sense, when you don't think about it.

Working...