Become a fan of Slashdot on Facebook


Forgot your password?
Slashdot Deals: Cyber Monday Sale! Courses ranging from coding to project management - all eLearning deals 25% off with coupon code "CYBERMONDAY25". ×

Comment Re:Step 1 (Score 1) 151

Commerce? Are you mad? What could the moon possibly produce that, after the cost of moving it from the moon to the earth, couldn't be produced for a fraction of the cost here on earth?

Comment Re:Focused advertising based on detected trends (Score 1) 233

> It's a chicken and egg situation. Do they advertise to women less because fewer women click ads for high paying jobs, or do fewer women click ads for high paying jobs because they advertise them to women less? Let's assume google is not completely retarded, surely they measure the effectiveness of an add by looking at how often it was clicked compared to how often the add was shown (click-through rate). Or do you really believe they only count the absolute numbers?

Comment Re:Nope (Score 4, Informative) 531

TFA actually mentions

* Note: if you set DNT=1, it is possible that you may not be receiving Suggested Tiles. You can very simply enable them on the new tab page with the cogwheel. We made the decision to opt users out of all sponsored Tiles experiences if they have DNT=1 quite early on, as we believe that most DNT early adopters are seeking to opt out of all advertising experiences. However, it’s important to understand that no tracking is involved in delivering Tiles.

Comment Re:Commitment to stability (Score 1) 149

Not that hard in Rust either:

let badref: &u32 = unsafe { std::mem::transmute(0 as *const u32)};

But doing this trick is UB in both C++ and Rust, so it's not really fair to hold it against either language. Having said that, one advantage of Rust would be that it is impossible to create such a bad reference without using an unsafe block, while in C++ it seems much easier to do so by mistake.

Comment Re:I'm worried by what I see. (Score 4, Insightful) 149

The issue tracker in Rust is used not only for bugs in the compiler, but also for tracking the standard library, new features, enhancements, some infrastructure, documentation, lints, etc. Assuming that 1900 open issues means there are 1900 bugs is ridiculous. If you look at the labels used on the issues tracker, you'll find that the label I-crash has 19 open issues. Of course not all bugs will be labelled correctly, so no doubt there will be more defects, but hardly the number that the 'worried' anon suggests. Also note that the language has changed significantly over the years, until it reached the current design. To look at some of the older bugs and conclude that the current version of the language can't be very good is silly because the rust of two or three years ago might as well have been a completely different language. As for servo, looking again at the label I-crash, I see (at this time) 39 open issues, which sounds much more reasonable than 800.

Comment Re:Commitment to stability (Score 4, Informative) 149

> What will the performance penalties be to optimized C or C++ code? Some of the guarantees that the Rust type-system provides could theoretically allow better optimization than C/C++. For instance, when you have an immutable reference (&something)to a object of a type that does not have internal mutability (that means the vast majority), that object is guaranteed to be immutable for as long as your reference is alive (note that this guarantee is stronger than that offered by a const *). And when you have a mutable reference (&mut something) your pointer is guaranteed not to alias, so once again your object is immutable except for the changes that you choose to make. You could say that all &mut T references are T *restrict. In addition, references in Rust are guaranteed to be non-null. All this extra information offers opportunities for optimization. Note that (AFAIK) not all this information is being communicated to the LLVM back-end at this time. In short, I do not expect performance penalties.

Comment Re:Make better language, not better coders. (Score 3, Insightful) 149

You can do whatever you want with pointers (although the things that are UB in C will tend to be UB in Rust also), you just need to do so in an unsafe{ .. } block. The improvement over C/C++ is that you won't trigger UB by accident while using the safe subset of the language, and the vast majority of the time you will be able to do what you want in that subset.

Comment Re:Cheap in which universe?! (Score 1) 174

It's not really a useful general purpose computer that you can carry around unless the keyboard, mouse, required usb-hub, cables, and screen also fit in your pocket. Whenever you get to a location where all that stuff is present, then there is probably already a computer present (otherwise why would all that stuff be lying around?). Now compare with a good usb memory stick: you don't have to connect all those cables, and it has much more storage for the same price.

Pound for pound, the amoeba is the most vicious animal on earth.