Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Mozilla and Samsung Collaborating to Bring New Browser Engine to Android

Unknown Lamer posted about a year ago | from the future-is-now dept.

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

cancel ×

111 comments

I'll wait for the upgrade to Crow (0)

Anonymous Coward | about a year ago | (#43350099)

They must've spent tens of dollars on this.

Re:I'll wait for the upgrade to Crow (1)

Anonymous Coward | about a year ago | (#43350701)

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.

Re:I'll wait for the upgrade to Crow (0)

Anonymous Coward | about a year ago | (#43351495)

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

Woohoo! yet another language (2)

CockMonster (886033) | about a year ago | (#43350135)

Rust. Why?

Because, like everything mozilla... (0)

Anonymous Coward | about a year ago | (#43350207)

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

Re:Woohoo! yet another language (2, Funny)

Anonymous Coward | about a year ago | (#43350221)

Can you have Rust on Chrome?

Fuck this is confusing.

Re:Woohoo! yet another language (1)

Anonymous Coward | about a year ago | (#43350233)

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

Re:Woohoo! yet another language (-1)

Anonymous Coward | about a year ago | (#43350357)

They probably wanted something that isn't shit. No generics and retarded error handling is more than enough to turn most sensible people away from Go. Go made dozens of choices that are just blatantly retarded for 2013.

Re:Woohoo! yet another language (1)

Rob Riggs (6418) | about a year ago | (#43350845)

+1

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

Re:Woohoo! yet another language (1)

K. S. Kyosuke (729550) | about a year ago | (#43351829)

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 [library.uu.nl] . (Or read this. [computerscience.nl] )

Re:Woohoo! yet another language (0)

Anonymous Coward | about a year ago | (#43353397)

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.

Re:Woohoo! yet another language (1)

icebraining (1313345) | about a year ago | (#43352707)

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

Re:Woohoo! yet another language (0)

Anonymous Coward | about a year ago | (#43350239)

Why not?

Re:Woohoo! yet another language (1)

rwise2112 (648849) | about a year ago | (#43350341)

Rust. Why?

Because Rust Never Sleeps!

Re: Woohoo! yet another language (1)

CockMonster (886033) | about a year ago | (#43351863)

But Firefox is already always running but not responding!

Re:Woohoo! yet another language (1)

amRadioHed (463061) | about a year ago | (#43352945)

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

Re:Woohoo! yet another language (1)

cyfer2000 (548592) | about a year ago | (#43350575)

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

Re:Woohoo! yet another language (0)

Anonymous Coward | about a year ago | (#43350859)

Rust. Why?

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

Re:Woohoo! yet another language (1)

Anonymous Coward | about a year ago | (#43351051)

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.

Re:Woohoo! yet another language (1)

wiredlogic (135348) | about a year ago | (#43354173)

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

Re:Woohoo! yet another language (1)

segfault_0 (181690) | about a year ago | (#43351113)

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

Re:Woohoo! yet another language (0)

Anonymous Coward | about a year ago | (#43351375)

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.

Re:Woohoo! yet another language (1)

gbjbaanb (229885) | about a year ago | (#43352799)

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.

Re:Woohoo! yet another language (1)

K. S. Kyosuke (729550) | about a year ago | (#43353049)

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.

Re:Woohoo! yet another language (0)

Anonymous Coward | about a year ago | (#43353423)

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/

Re:Woohoo! yet another language (0)

Anonymous Coward | about a year ago | (#43353349)

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.

Stop it, stop it, stop it! (1)

sidragon.net (1238654) | about a year ago | (#43350211)

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:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43350329)

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.

Re:Stop it, stop it, stop it! (2)

sidragon.net (1238654) | about a year ago | (#43350675)

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?

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43351115)

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.

Re:Stop it, stop it, stop it! (2, Interesting)

MightyYar (622222) | about a year ago | (#43350367)

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.

Re:Stop it, stop it, stop it! (1, Insightful)

sidragon.net (1238654) | about a year ago | (#43350809)

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/ [xkcd.com]

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43351161)

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.

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43351315)

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.

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43352597)

Sometimes it is good to start fresh.

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43353469)

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/

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43354067)

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.

Re:Stop it, stop it, stop it! (4, Insightful)

21mhz (443080) | about a year ago | (#43351233)

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

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43351457)

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.

Re:Stop it, stop it, stop it! (2)

21mhz (443080) | about a year ago | (#43351691)

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.

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43352255)

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

[citation needed]

Re:Stop it, stop it, stop it! (1)

MightyYar (622222) | about a year ago | (#43352887)

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.

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43353651)

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.

Re:Stop it, stop it, stop it! (1)

wiredlogic (135348) | about a year ago | (#43354255)

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

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43352295)

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

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43351685)

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/ [xkcd.com]

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.

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43352827)

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.

Re:Stop it, stop it, stop it! (1)

MightyYar (622222) | about a year ago | (#43352963)

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.

Re:Stop it, stop it, stop it! (1)

Unknown Lamer (78415) | about a year ago | (#43354123)

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

Re:Stop it, stop it, stop it! (0)

Anonymous Coward | about a year ago | (#43353443)

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

Time for Google to act.. (1)

bogaboga (793279) | about a year ago | (#43350223)

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.

Re:Time for Google to act.. (1)

Anonymous Coward | about a year ago | (#43350425)

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.

Re:Time for Google to act.. (1)

Microlith (54737) | about a year ago | (#43350441)

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

Re:Time for Google to act.. (4, Insightful)

Rich0 (548339) | about a year ago | (#43351343)

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.

Re:Time for Google to act.. (0)

Anonymous Coward | about a year ago | (#43352281)

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.

Rust Colored Glasses (1, Interesting)

bill_mcgonigle (4333) | about a year ago | (#43350543)

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.

Servo Yes, Rust No. (5, Funny)

Qwavel (733416) | about a year ago | (#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.

Re:Servo Yes, Rust No. (0, Insightful)

Anonymous Coward | about a year ago | (#43350831)

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.

Re:Servo Yes, Rust No. (1)

MaWeiTao (908546) | about a year ago | (#43351119)

Some people believe Samsung may start pushing Tizen over Android.

Re:Servo Yes, Rust No. (1)

Xest (935314) | about a year ago | (#43355759)

Some people believe in fairies too.

Re:Servo Yes, Rust No. (0)

Anonymous Coward | about a year ago | (#43351499)

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

Re:Servo Yes, Rust No. (0)

ArcadeMan (2766669) | about a year ago | (#43351603)

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.

Re:Servo Yes, Rust No. (0)

Anonymous Coward | about a year ago | (#43352237)

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.

Re:Servo Yes, Rust No. (0)

Anonymous Coward | about a year ago | (#43353755)

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.

Re:Servo Yes, Rust No. (0)

Anonymous Coward | about a year ago | (#43350927)

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.

Re:Servo Yes, Rust No. (1)

Qwavel (733416) | about a year ago | (#43351977)

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.

Re:Servo Yes, Rust No. (1)

icebraining (1313345) | about a year ago | (#43352765)

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.

Re:Servo Yes, Rust No. (0)

Anonymous Coward | about a year ago | (#43351299)

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

Re:Servo Yes, Rust No. (0)

Anonymous Coward | about a year ago | (#43351711)

Actually read about the language [github.com] . 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++.

Language matrix (0)

Okian Warrior (537106) | about a year ago | (#43350805)

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?

Re:Language matrix (2, Interesting)

Anonymous Coward | about a year ago | (#43350971)

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.

Re:Language matrix (2)

ShieldW0lf (601553) | about a year ago | (#43350975)

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]

Re:Language matrix (0)

Anonymous Coward | about a year ago | (#43351665)

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

Rust is good for you (4, Interesting)

21mhz (443080) | about a year ago | (#43350935)

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

Come again? (0)

Anonymous Coward | about a year ago | (#43351137)

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

http://golang.org/ [golang.org]

Re:Come again? (1)

21mhz (443080) | about a year ago | (#43351489)

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.

Re:Come again? (1)

Carewolf (581105) | about a year ago | (#43351921)

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.

Re:Come again? (0)

Anonymous Coward | about a year ago | (#43351523)

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

Re:Come again? (0)

Anonymous Coward | about a year ago | (#43353767)

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.

Re:Come again? (2)

LordThyGod (1465887) | about a year ago | (#43352353)

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.

Re:Come again? (0)

Anonymous Coward | about a year ago | (#43353015)

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.

Re:Come again? (0)

Anonymous Coward | about a year ago | (#43355815)

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?

Re:Rust is good for you (1)

TopSpin (753) | about a year ago | (#43351391)

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.

Re:Rust is good for you (1)

ArcadeMan (2766669) | about a year ago | (#43351621)

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.

Re:Rust is good for you (1)

21mhz (443080) | about a year ago | (#43351835)

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!

Re:Rust is good for you (0)

Anonymous Coward | about a year ago | (#43352031)

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.

Re:Rust is good for you (0)

Anonymous Coward | about a year ago | (#43353113)

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.

Re:Rust is good for you (1)

Thiez (1281866) | about a year ago | (#43353213)

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

Re:Rust is good for you (2)

Animats (122034) | about a year ago | (#43353045)

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.

Get back to me... (0)

SCHecklerX (229973) | about a year ago | (#43350947)

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

Re:Get back to me... (1)

Anonymous Coward | about a year ago | (#43351799)

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.

Re:Get back to me... (1)

Dr.Dubious DDQ (11968) | about a year ago | (#43352213)

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

D language (0)

Anonymous Coward | about a year ago | (#43351155)

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

don't forget "Dark Forces" (0)

Anonymous Coward | about a year ago | (#43351449)

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

Go vs. Rust: Round 1. I'm hoping C++ and Java die. (0)

Anonymous Coward | about a year ago | (#43351941)

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

Re:Go vs. Rust: Round 1. I'm hoping C++ and Java d (0)

Anonymous Coward | about a year ago | (#43353137)

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.

Buy the Mozilla bods a book on computer science (0)

Anonymous Coward | about a year ago | (#43352017)

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.

Re:Buy the Mozilla bods a book on computer science (1)

CockMonster (886033) | about a year ago | (#43352735)

Posted from Firefox?
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...