Slashdot Mirror


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.

111 comments

  1. I'll wait for the upgrade to Crow by Anonymous Coward · · Score: 0

    They must've spent tens of dollars on this.

    1. Re:I'll wait for the upgrade to Crow by Anonymous Coward · · Score: 1

      There was a programmer named Joel,
        Not too different from you or me.
        He worked at Mozilla Institute,
        Just another face in a red jumpsuit.
        He did a good job cleaning up the place,
        But Samsung didn't like him
        So they shot him into space.

        We'll send him cheesy browsers,
        The worst we can find (la-la-la).
        He'll have to sit and surf with them all,
        And we'll monitor his mind (la-la-la).
        Now keep in mind Joel can't control
        Where the web sites begin or end (la-la-la)
        Because he used those tablet parts
        To make his robot friends.

    2. Re:I'll wait for the upgrade to Crow by Anonymous Coward · · Score: 0

      I believe they're actually calling the UI code "Crow".

  2. Woohoo! yet another language by CockMonster · · Score: 2

    Rust. Why?

    1. Re:Woohoo! yet another language by Anonymous Coward · · Score: 2, Funny

      Can you have Rust on Chrome?

      Fuck this is confusing.

    2. Re:Woohoo! yet another language by Anonymous Coward · · Score: 1

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

    3. Re:Woohoo! yet another language by Anonymous Coward · · Score: 0

      Why not?

    4. Re:Woohoo! yet another language by rwise2112 · · Score: 1

      Rust. Why?

      Because Rust Never Sleeps!

      --

      "For every expert, there is an equal and opposite expert"
    5. Re:Woohoo! yet another language by cyfer2000 · · Score: 1

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

      --
      There is a spark in every single flame bait point.
    6. Re:Woohoo! yet another language by Rob+Riggs · · Score: 1

      +1

      Slashdot has a knack for expiring mod points right when they are most needed.

      --
      the growth in cynicism and rebellion has not been without cause
    7. Re:Woohoo! yet another language by Anonymous Coward · · Score: 0

      Rust. Why?

      Because the pinnacle of programming languages has not yet been reached.

    8. Re:Woohoo! yet another language by Anonymous Coward · · Score: 1

      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 higher order functions, lambdas, scoped heap allocation with automatic destruction, fast stack based allocation, concurrency, powerful macros, generics, a real package system.... a lot of stuff that would make systems programming better. It's also rather concise.

    9. Re:Woohoo! yet another language by segfault_0 · · Score: 1

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

      --

      I was crazy back when being crazy really meant something. (Charles Manson)
    10. Re:Woohoo! yet another language by Anonymous Coward · · Score: 0
    11. Re:Woohoo! yet another language by Anonymous Coward · · Score: 0

      Another cool feature is optional syntax extension. It's macros, but more powerful. It also has a feature called match, which is like switch case, but more powerful.

    12. Re:Woohoo! yet another language by K.+S.+Kyosuke · · Score: 1

      So far, Go has made no choices regarding generics, besides the "we're working on finding out what kind of generic programming features is desirable for us to have in the first place". In fact, it's not even meaningful to talk about "no generics" since the term "generics" is highly contextual. The C# people talk about generics all the time when what they have in mind is actually a simple, 1980 vintage style rank-1 parametric polymorphism with no aspiration whatsoever to doing anything remotely useful in the context of what passes for generic programming today. (Or read this.)

      --
      Ezekiel 23:20
    13. Re: Woohoo! yet another language by CockMonster · · Score: 1

      But Firefox is already always running but not responding!

    14. Re:Woohoo! yet another language by icebraining · · Score: 1

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

    15. Re:Woohoo! yet another language by gbjbaanb · · Score: 1

      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)
      object-oriented - obviously
      functional styles - had this for years in the STL.

    16. Re:Woohoo! yet another language by amRadioHed · · Score: 1

      That doesn't sound so good, it will kill your battery life.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
    17. Re:Woohoo! yet another language by K.+S.+Kyosuke · · Score: 1

      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, thirty years after Modula-2.

      --
      Ezekiel 23:20
    18. Re:Woohoo! yet another language by Anonymous Coward · · Score: 0

      Because it is memory-safe. As in "no buffer overflows" or "no dangling pointers". Very welcome, as this fixes about 50% of serious exploits in the CVE database.

      I also developed a memory-safe C++ variant: http://sourceforge.net/p/sappeurcompiler/code-0/2/tree/trunk/

      And yes, this is highly welcome as Mozilla finally tackles the horrible security problems we have in a systematic (as opposed to piece-meal) manner.

    19. Re:Woohoo! yet another language by Anonymous Coward · · Score: 0

      If you can't take a vanilla macro language such as m4 and do the "generics" thing on your own, you are still on Beginner Level. In many ways, m4 macros are superior to the average C++ template stuff. And, you can use m4 with virtually ANY language.

    20. Re:Woohoo! yet another language by Anonymous Coward · · Score: 0

      Funnily, for all the kludgy aspects of C++, it does really rule the world of Applied Software Engineering. My strong feeling is that that eight-legged dogs behaves very much like an octopus, when you don't watch it. It uses these feet to dive, kill, run on land, climb trees and some masters can even make fly with those octo-tentacles by using them as helicopter blades.
      To get to that level you really need the dedication and perseverance of these mythical Japanese masters and most people will never reach that point.

      Having said that, I have been working on the destruction of C++ by creating a "safe C++": http://sourceforge.net/p/sappeurcompiler/code-0/2/tree/trunk/

    21. Re:Woohoo! yet another language by wiredlogic · · Score: 1

      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 "."?

      --
      I am becoming gerund, destroyer of verbs.
    22. Re:Woohoo! yet another language by Anonymous Coward · · Score: 0

      Go is in no way object oriented.

    23. Re:Woohoo! yet another language by K.+S.+Kyosuke · · Score: 1

      Funnily, for all the kludgy aspects of C++, it does really rule the world of Applied Software Engineering.

      McDonald's rules the world of Applied Feeding of Americans. Not exactly something to be proud of, is it?

      --
      Ezekiel 23:20
    24. Re:Woohoo! yet another language by Thiez · · Score: 1

      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.

  3. Because, like everything mozilla... by Anonymous Coward · · Score: 0

    It's corrosive, or perhaps simply 'subject to neglect and decay'. :-D

  4. Stop it, stop it, stop it! by sidragon.net · · Score: 1

    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

    1. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      Can we please stop reinventing the wheel, over and over and over again?

      The thousand year old wheels doesn't work very well for traveling at 60mph.
      There is a good reason to reinvent the wheel over and over again.

    2. Re:Stop it, stop it, stop it! by MightyYar · · Score: 2, Interesting

      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 wheel" - it is building upon the decades of work and experience that went into creating C++. If the concepts behind Rust prove useful, then perhaps they can be incorporated into C++. If they are useful and can't be incorporated into C++, then we really do need another kind of wheel after all.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    3. Re:Stop it, stop it, stop it! by sidragon.net · · Score: 2

      The thousand year old wheels doesn't work very well for traveling at 60mph.

      Our wheels aren't a thousand years old. They're barely even a few.

      There is a good reason to reinvent the wheel over and over again.

      Ignoring the fact that this analogy has broken down into uselessness, let's talk about this new browser engine. Is it going to conform to the existing standards and produce output identical to its predecessor?

    4. Re:Stop it, stop it, stop it! by sidragon.net · · 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 Slashdot: why do we need dozens of half-baked projects instead of a few that are exceptionally solid? And I'll, again, give my own answer: because every one of these geeks who designs to start his own little, duplicative project thinks he's smarter than everyone else. You know, because those guys are idiots, and we couldn't possibly build upon their work. Greenfield development is always fun! (Am I right?)

      But let's forget all that for the moment, and concentrate on our shiny new browser engine. If and only if this project is successful when all is said and done, it will produce exactly the same output as its siblings and predecessors--output that's dictated by standards. Indeed, after devoting person-years worth of hard labor, we will end up with something with exactly the same functionality as what we had before.

      Sigh. Obligatory XKCD.

      http://xkcd.com/927/

    5. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      TFA is completely wrong, servo has been in the works on github for months. It should conform to existing standards(you'd have to look at the code to find out for sure, but I think the parser does at least), and the main benefit is how parallel it makes everything. I don't know how many tasks it spawns but there are a lot of them.

    6. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      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

      Scala's only relevant implementation is on the JVM and therefore it's instantly unsuitable to a large number of problems. Go doesn't even meet the criteria you listed and it's not even worth discussing. Most of the other languages that meet the criteria you listed have very serious drawbacks and are dynamically typed and slow as molasses. Haskell might have been interesting but they wanted something lower level with simpler abstractions.

      because every one of these geeks who designs to start his own little, duplicative project thinks he's smarter than everyone else

      and some of them are right and progress is made. If you want these people to work on whatever pet project you prefer feel free to pay them.

    7. Re:Stop it, stop it, stop it! by 21mhz · · Score: 4, Insightful

      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.
    8. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      If you had the chops to write a compiler, then you could've written one for an existing language. Write one for Scala if you want native binaries.

      Go is open source. If it's the required functionality is missing, add it. Then even more people win.

      C++ has a standards review process. Participate in it.

    9. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      Too many to enumerate, but the main one is: not being a crazy impractical language which so many programmers were ill-taught to use.

      Let's make that more clear. The programmers used it wrong, so let's invent a whole new language. Right.

      Not using a Java VM. Doing actual Unicode natively, not the UTF-16 bastardization of it.

      If you're inventing a language, you know how to build a compiler. Write one for Scala. Or use Go.

      Yes, I've read the FAQ. Rust isn't novel. It's just different for the sake of being different.

    10. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      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 Slashdot: why do we need dozens of half-baked projects instead of a few that are exceptionally solid? And I'll, again, give my own answer: because every one of these geeks who designs to start his own little, duplicative project thinks he's smarter than everyone else. You know, because those guys are idiots, and we couldn't possibly build upon their work. Greenfield development is always fun! (Am I right?)

      But let's forget all that for the moment, and concentrate on our shiny new browser engine. If and only if this project is successful when all is said and done, it will produce exactly the same output as its siblings and predecessors--output that's dictated by standards. Indeed, after devoting person-years worth of hard labor, we will end up with something with exactly the same functionality as what we had before.

      Sigh. Obligatory XKCD.

      http://xkcd.com/927/

      Programming languages aren't standards. Stop sneering for ten seconds to realise that your smug comic's message doesn't apply here. It would apply to something where there needs to be a single standard so that fragmented groups can work successfully (e.g. HTML), but not where there are a choice of tools.

      You're a man who feels pleased with himself for complaining about a store selling more than one kind of hammer. Well done.

    11. Re:Stop it, stop it, stop it! by 21mhz · · Score: 2

      Let's make that more clear. The programmers used it wrong, so let's invent a whole new language. Right.

      No, no. C++ is a badly designed language and it is often misused by the programmers.

      If you're inventing a language, you know how to build a compiler. Write one for Scala. Or use Go.

      A programming language is not just a syntax. It comes with a runtime environment, internal representation of data, and standard libraries. Scala and Go make different design choices on important matters, meaning a straightforward conversion from Rust to these languages is impractical. And it's not needed, because Rust is, by development, a frontend to LLVM. So, we get a modern, concurrency-friendly language to the compiler backend that can compile to binaries or work JIT if required.

      --
      My exception safety is -fno-exceptions.
    12. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      No, no. C++ is a badly designed language and it is often misused by the programmers.

      [citation needed]

    13. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      You should try http://nimrod-code.org instead, seems better than rust.

    14. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      Sometimes it is good to start fresh.

    15. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      I'll be honest - I'm usually the first guy to jump on the bandwagon and say "This language is pointless, just use X instead." But most of the time the reason I jump to that initial conclusion is "This is another dumb application-level language trying to pretend to be a systems language because it has a binding to C libraries. Hell, it probably compiles to JS."

      I thought about Go for a while, but the non-optional garbage collection kills it for me. Rust's GC is completely optional. That's reason enough for me to prefer it over Go, or really anything else. Whether it beats C is another matter.

    16. Re:Stop it, stop it, stop it! by MightyYar · · Score: 1

      My goodness, just Google "C++ Considered Harmful" and read the rants. We don't need to get into that whole argument again. The fact is that there are a whole bunch of very smart people who feel this way, and another similar group who disagree. It is possible that both groups are right - that C++ is good for a certain type of problem and a certain type of programmer, but just plain awful at other kinds of problems attacked by other types of programmers.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    17. Re:Stop it, stop it, stop it! by MightyYar · · Score: 1

      Furthermore, this project is very interesting because they are co-creating both a new language and a new web renderer. It's conceivable, if not certain, that the new language will be better-suited to building a web framework than C++. If we're lucky, it will also solve other problems with a similar set of challenges.

      Worst case, this little experiment goes nowhere. Even if the project is abandoned, we might learn some great ideas to feed back into other languages.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    18. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      Your rotting wooden wheels are being gnawed at by Russian and Chinese mice all the time. We need Rust Wheels !

    19. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      Indeed. C++ and C are so much "portable assemblers" that they are in some way Unfixable Broken. Just look at the massive number of security issues of MS, Oracle and basically every commercial software maker. Many open-source projects don't look better either. How many times did they now own even Chrome, supposedly protected by a sandbox ??
      libpoppler and OpenOffice are stuffed full of void* pointers. Sure as hell these are juicy opportunities for virus writers.

      Yeah, start with a clean sheet of paper and re-use CONCEPTS, not the smelly details of C++. Destructors, smart pointers, stack allocation, heap allocation, controlled/synchronous allocation/deallocation are worth saving.
      Pointer arithmetics ? Pointer aliasing ? Shit from hell, drive a stake through their hearts and then irradiate with the hardest gamma rays you can make.

      Here's my attempt at making C++ safe: http://sourceforge.net/p/sappeurcompiler/code-0/2/tree/trunk/

    20. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      To properly use C++, programmers need a multi-year education program in addition to their CS degree. Of course, that program often takes place as an informal thing, which is quite bad.

      So, to do it properly, you need 4 years of general CS and then 3 years of full-time C++ training. Otherwise your code will be shit and it will take you ten years to work yourself out of the manure, informally. I am now almost 40 and my C++ just now becomes nice. I wasted some time with Java, Tcl, Smalltalk and Pascal, though.

    21. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      Plus, tar and feather the guys who made the Template Language. They claim it became Turing-complete "by accident". So the "C++ standard" committee can't raise their asses to specify (say) the use of Lua or Perl as their template language. Instead they want you to learn something on par with Brainfuck (yeah, that's actually a language) to perform generic programming.

      I once knew a guy sitting on the committee, and I have to say he was a small-minded guy who could not really think in concepts. They live in their little world of low-level and historical cruft and don't want to change that.

    22. Re:Stop it, stop it, stop it! by Unknown+Lamer · · Score: 1

      It has the one thing that matters: a real type system.

      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

      --

      HAL 7000, fewer features than the HAL 9000, but just as homicidal!
    23. Re:Stop it, stop it, stop it! by wiredlogic · · Score: 1

      C++ was never designed so much as hacked together. It's the CVS of languages.

      --
      I am becoming gerund, destroyer of verbs.
    24. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      Well, you should grow up from your academic life into becoming a real software engineer. In the real world, performance often matters more than anything else. GC is a no-way-thing for many fields of software engineering.
      Just because the run-of-the-mill beancounting application can do with GC means very little.

      C++ does have quite a few strong points, which will be required for the forseeable future. Stack allocation, value arrays. efficient object aggregation, destructors, programmer-controlled heap allocation. They all need to be preserved if you really want to replace C++.

      All your pinko-liberal, academic functional, GC-based languages simply don't cut it when you have to snoop on millions of emails per second, for example. Or if you have to process the radar images of an automatic breaking system. Or any amount of aerospace/killtech stuff, where you can't throw liberal amounts of hardware at the problem. Because your F35 is already overweight, underpowered and overheated. THAT is why you use Ada or C++.

    25. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      I'm really excited about these new languages like Rust and Go. They try to solve the memory safety and verbosity issues with lower level languages like C and C++. They try to solve the performance issues of Perl/Python/Ruby. They try to solve the problems of Java by eliminating inheritance and introducing first class functions and easier immutability. They introduce simpler concurrency abstractions, and they are easier to learn than functional languages.

    26. Re:Stop it, stop it, stop it! by K.+S.+Kyosuke · · Score: 1

      Well, you should grow up from your academic life into becoming a real software engineer. In the real world, performance often matters more than anything else. GC is a no-way-thing for many fields of software engineering.

      Hahaha. You haven't seen a *proper* GC implementation in action, have you? (Not to mention the fact that he didn't mention GC anywhere in his post, so I don't see how your jumping to conclusions is appropriate here.) Nowadays, you can build a compacting, concurrent, parallel, *pauseless* GC on stock hardware. (I believe the last piece of the puzzle to be solved was implementing memory read barriers on recent stock HW.)

      --
      Ezekiel 23:20
    27. Re:Stop it, stop it, stop it! by david_thornley · · Score: 1

      C++ is actually a pretty well-designed language (that is often misused by programmers). The design criteria had implications you probably didn't expect.

      The first issue is C compatibility. C++ as as close to being a C90 compiler as they could make it, and most C90 programs will compile as C++ just fine. This causes a whole lot of problems in the language, and is responsible for many of the ambiguities and awkward syntax. It's why compiling C++ takes lots more time than compiling C# or other more modern languages that don't try to be compatible with antique syntax.

      Secondly, features were evaluated for how useful they'd be, with essentially no thought to how easily they could be abused.

      Thirdly, utility came before cleanness. It shows, but there's always a lot of features that people wanted to put in, and could have, that didn't make it into the ARM/C++98 standard/C++11 standard.

      Fourth, the designers were making it up as they went along. C++ was originally C with Simula 67 classes added (called "C with Classes"), and everything else, including many things we think of as core C++ features, came along later. The Committee has been very reluctant to break older programs, and that has had all sorts of odd results. There was no one ruling brain starting with a wide vision like Java and C# had. The language has emergent behavior (such as Turing-complete template creation).

      C++ is incredibly useful in lots of things, but requires a good bit of expertise to use properly. It is very definitely not for every project and every programmer.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    28. Re:Stop it, stop it, stop it! by 21mhz · · Score: 1

      Thank you for describing that mess. The only thing I don't understand is why you are calling it "well-designed".

      --
      My exception safety is -fno-exceptions.
    29. Re:Stop it, stop it, stop it! by Anonymous Coward · · Score: 0

      Programming languages aren't standards.

      With this statement you lose all credibility and clearly have no authority to speak on the subject.

  5. Time for Google to act.. by bogaboga · · Score: 1

    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.

    1. Re:Time for Google to act.. by Anonymous Coward · · Score: 1

      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.

    2. Re:Time for Google to act.. by Microlith · · Score: 1

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

    3. Re:Time for Google to act.. by Rich0 · · Score: 4, Insightful

      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.

    4. Re:Time for Google to act.. by Anonymous Coward · · Score: 0

      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 last thing *I* want is Samsung throwing their developers at a software project that I care about.

  6. Rust Colored Glasses by bill_mcgonigle · · Score: 1, Interesting

    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)
  7. Servo Yes, Rust No. by Qwavel · · Score: 5, Funny

    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.

    1. Re:Servo Yes, Rust No. by Anonymous Coward · · Score: 0, Insightful

      Yep. Meanwhile, Samsung should be focusing on getting android updates out to their damn devices. When your customers are having to wait YEARS for you to ship, you're obviously doing it wrong. Don't jump in on a new project until you can get you shit together on the stuff you're already committed to.

    2. Re:Servo Yes, Rust No. by Anonymous Coward · · Score: 0

      They created the language because the existing systems languages apparently weren't up to snuff for such a threading-heavy product. Of all the people who would have an idea about that, they should: they've been dealing with threading issues in browsers for a long time.

      If you're going to get mad about this, you might as well get mad about Chrome inventing NaCL and Dart. But that's Google.. no one gets mad at Google when their engineers get to whacking off.

    3. Re:Servo Yes, Rust No. by MaWeiTao · · Score: 1

      Some people believe Samsung may start pushing Tizen over Android.

    4. Re:Servo Yes, Rust No. by Anonymous Coward · · Score: 0

      Designing a language for the purpose of a software is often a good idea. The best exemple is C that was created for UNIX

    5. Re:Servo Yes, Rust No. by Anonymous Coward · · Score: 0

      You do not buy a phone expecting it to get updated. What version you have is what you get. Don't expect more.

    6. Re:Servo Yes, Rust No. by ArcadeMan · · Score: 0

      Or you could buy an iPhone. I'm running iOS6 on a frickin' iPhone 3GS.

      Let's see Samsung pull a stunt like that, then we'll talk about how great Android is.

      I bet Samsung are looking into alternatives to Android as we speak.

    7. Re:Servo Yes, Rust No. by Anonymous Coward · · Score: 0

      Actually read about the language. It's a pretty awesome language that has most of the power and expressiveness of C++ while being safe-by-default in ways that C++ can't support even with fancy smart pointers. A web browser is definitely a good application for Rust, but I suspect it's in a good sweet-spot for a lot of native application development that is presently done in C/C++.

    8. Re:Servo Yes, Rust No. by Qwavel · · Score: 1

      Actually, I think Google's Go language in the same terms as Rust.

      NaCL and Dart do have some value in relation to Google's goal of moving the Web forward. If they really want the Web to compete with desktop OS's then javascript really is lacking.

    9. Re:Servo Yes, Rust No. by Anonymous Coward · · Score: 0

      Apple don't provide standard apps on older hardware. We are running IO6, but there is little point in upgrading short of security fixes. I jumped ship to Android when Apple couldn't get navigation working the iPhone 4, this is a phone they are still selling. Without basic smartphone features in the core applications.

      Do samsung sell a smartphone without nav. I don't know, they probably sell a lot of low end shit, and apparently so does Apple.

    10. Re:Servo Yes, Rust No. by icebraining · · Score: 1

      Go is fine for writing daemons. It's not particularly good for writing interactive processes. For once, Mozilla wants to be able to do away with the GC for certain components of the system.

    11. Re:Servo Yes, Rust No. by Anonymous Coward · · Score: 0

      You do not buy a phone expecting it to get updated. What version you have is what you get. Don't expect more.

      The problem with this is that you have to learn as much the hard way, because both Samsung and the carriers pretend like they provide updates.

      And they technically do. Only years behind and often only once per model. Google should be bitch-slapping these fucks up and down the street for turning Android devices into a scam.

    12. Re:Servo Yes, Rust No. by Xest · · Score: 1

      Some people believe in fairies too.

    13. Re:Servo Yes, Rust No. by Anonymous Coward · · Score: 0

      basic smartphone features

      navigation

      Oh my!

    14. Re:Servo Yes, Rust No. by iampiti · · Score: 1

      It might not be at the same level of the 3gs running iOS 6, but Samsung have published 2 major updates to the Galaxy SII (2.3->4.0->4.1). An update to 4.2 is rumored.
      As I said, that support might not be as good as Apple's but it's the best in the Android world.
      Anyway I also think that Samsung waste too many time releasing too many pointless Galaxy Android phones

  8. Language matrix by Okian+Warrior · · Score: 0

    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?

    1. Re:Language matrix by Anonymous Coward · · Score: 2, Interesting

      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.

    2. Re:Language matrix by ShieldW0lf · · Score: 2

      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

      --
      -1 Uncomfortable Truth
    3. Re:Language matrix by Anonymous Coward · · Score: 0

      I say! Why do we need classes. You can do anything in C that you can in C++ what a waste of time.

  9. Rust is good for you by 21mhz · · Score: 4, Interesting

    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.
    1. Re:Rust is good for you by TopSpin · · Score: 1

      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.

      --
      Lurking at the bottom of the gravity well, getting old
    2. Re:Rust is good for you by ArcadeMan · · Score: 1

      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.

    3. Re:Rust is good for you by 21mhz · · Score: 1

      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!

      --
      My exception safety is -fno-exceptions.
    4. Re:Rust is good for you by Anonymous Coward · · Score: 0

      Have you seen Rust's syntax? Oh man, it's worse than reading mangled up Perl. I felt the cry of developers as I looked at that code.

    5. Re:Rust is good for you by Animats · · Score: 2

      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 down Go programs to one thread.

      (There are three big memory safety holes in C: "How big is it", "Who can delete it", and "Who locks it". C++ tries to address #1, but doesn't quite succeed. Languages with GC address #2. Few languages (Ada and Erlang being exceptions) address #3 well. Go does not, Rust apparently does.)

      We'll have to see how the Rust people do. Stuff that comes out of Mozilla tends to have a huge number of half-implemented features. (That's so open-source.) Go is a coherent design, even if flawed. It's from some of the old Plan9 people at Bell Labs.

    6. Re:Rust is good for you by Anonymous Coward · · Score: 0

      Have you seen Rust's syntax? Oh man, it's worse than reading mangled up Perl.

      +1

      It looks like generated code. Then there's the asinine stuff like omitting a semicolon to return the value of an expression... Only languages this stupid (go, scala etc) could make C++ appear sane.

    7. Re:Rust is good for you by Thiez · · Score: 1

      > Then there's the asinine stuff like omitting a semicolon to return the value of an expression...

      I was a little sceptical at first as well, but it's actually surprisingly nice once you get used to it. You can still use 'return someValue;' if you like, but it will look a silly. I for one really miss this feature when I have to touch other languages again. Don't knock it till you try it.

  10. Get back to me... by SCHecklerX · · Score: 0

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

    1. Re:Get back to me... by Anonymous Coward · · Score: 1

      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.

    2. Re:Get back to me... by Dr.Dubious+DDQ · · Score: 1

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

  11. Come again? by Anonymous Coward · · Score: 0

    We're not pissed with change. We're pissed at reinventing the wheel. Again.

    http://golang.org/

    1. Re:Come again? by 21mhz · · Score: 1

      Go, meh. It missed so many important things that the question "what does this new language give me to make it worth learning?" applies to it more acutely.

      --
      My exception safety is -fno-exceptions.
    2. Re:Come again? by Anonymous Coward · · Score: 0

      Go requires a GC, which makes it unsuitable for a number of tasks.

    3. Re:Come again? by Carewolf · · Score: 1

      Go, meh. It missed so many important things that the question "what does this new language give me to make it worth learning?" applies to it more acutely.

      Considering that learning new programming languages is no effort at all, anything would make a new language worth learning.

      Still I have nothing it would help with either at the moment, so I am also skipping it.

    4. Re:Come again? by LordThyGod · · Score: 2

      We're not pissed with change. We're pissed at reinventing the wheel. Again.

      Still sounds a little like pissin and moanin for the sake of pissin and moanin though. There quite obviously nobody here in our friendly little group that has near the credentials of Brendan Eiche for writing browser code. Sorry to all those that think they are smarter than he is, but show some creditibility first. How many languages have you guys written anyhow and how much time have you spent in the guts of a mainstream browser? I doubt you can top him. And if no one took the time to try to make a better wheel, we'd all be doing a fred flinstone with tree trunks for axles, round rocks for wheels, and feets for brakes.

    5. Re:Come again? by Anonymous Coward · · Score: 0

      Go has non-optional GC. This makes it shit for a systems language. Rust has optional GC. This allows it to be useful. Go is reinventing the wheel, not Rust.

    6. Re:Come again? by Anonymous Coward · · Score: 0

      GC is a "no-go" (no pun intended) for many, many applications. Basically, whenever something must be (soft)realtime, you can't do GC. And yeah, I know all the pro-GC arguments.

      Destructors are a very, very nice concept of C++ which should be salvaged. Java not having them means it is completely retarded.

    7. Re:Come again? by Anonymous Coward · · Score: 0

      Go as in the language without any generics? The language that gives you the type safety of C or the slow checked casts of java?

  12. D language by Anonymous Coward · · Score: 0

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

  13. don't forget "Dark Forces" by Anonymous Coward · · Score: 0

    Large outside levels... curved walls... it was cutting edge... and one of my favorite games

  14. Go vs. Rust: Round 1. I'm hoping C++ and Java die. by Anonymous Coward · · Score: 0

    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

  15. Buy the Mozilla bods a book on computer science by Anonymous Coward · · Score: 0

    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.

    1. Re:Buy the Mozilla bods a book on computer science by CockMonster · · Score: 1

      Posted from Firefox?

  16. Re:Go vs. Rust: Round 1. I'm hoping C++ and Java d by Anonymous Coward · · Score: 0

    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.