Live data from Hacker News

Mozilla Is Designing a New Programming Language Language Called Rust

readwriteweb.com

61–70 of 75 posts

Re: Mozilla Is Designing a New Programming Language Language Called Rust

#61
post #60

Earlier quoted context omitted.

Languages aren't a problem that needs fixing. Keeping Multicore machines busy is a problem that needs fixing and it's also an example of a problem amenable to a solution in the form of a new language. http://gigaom.com/2008/06/19/multicores-not-so-secret-proble...

We've been told for around 10 years now that we'll soon have 128 cores in our laptops. It hasn't happened yet.

Yeah, but now we have 8 cores in our desktops, and our popular languages can't handle that so well.

Re: Mozilla Is Designing a New Programming Language Language Called Rust

#63
post #16

Earlier quoted context omitted.

From https://github.com/graydon/rust/wiki/language-faq : *Have you seen this Google language, Go? How does Rust compare?* Yes. Rust development was several years underway before Go launched, no direct inspiration. Though Pike’s previous languages in the Go family (Newsqueak, Alef, Limbo) were influential. Go adopted semantics (safety and memory model) that are quite unsatisfactory. - Shared mutable state. - Global GC…

Thanks for that. It wasn't clear from the linked article that Rust was started before Go. The overall impression that I got from TFA was that Rust is another instance of the garbage-collected system language fad.

I think the fact that Rust is older and yet Go has 1000s of active programmers is indicative of something. "Ship early, ship often" springs to mind. The Plan9 community has been working like that for years, almost every day an updated version is available (the distro cdrom is rebuilt every night) with bug fixes / improvements / new stuff.

Re: Mozilla Is Designing a New Programming Language Language Called Rust

#64
post #31

Earlier quoted context omitted.

It might be too soon to ask, but what distinguishes Rust from Google's Go or the D programming language? It seems to me that we've got three programming languages competing for the same niche.

Compared to Go: * Rust does not have NULL!! * Rust has parametric polymorphism. * Rust has more predictable memory/cpu usage thanks to forgoing global GC for a novel memory management model based on stack allocation/RAII, immutability, isolated processes and reference counting. * Rust has a very Erlang-like model of handling failures. * Rust has typestate, which is an easy to use way of proving properties about your…

* Go has 1000s of active programmers

Re: Mozilla Is Designing a New Programming Language Language Called Rust

#66
post #59

Earlier quoted context omitted.

If you think we don't need any new languages then either you aren't doing anything interesting, aren't paying attention, or you just don't care.

Name some technological advance or achievement that has only been possible through the creation of a new programming language. edit: Thanks for the downmod to 0. It really does speak volumes.

In the limit (as you must know already), there is nothing you can do in code that could only be possible through the creation of a new programming language. New languages don't make the impossible possible; they make some possibles tractable, and which ones are more so varies by language.

Re: Mozilla Is Designing a New Programming Language Language Called Rust

#67
post #57

Earlier quoted context omitted.

The last time I checked, it was bootstrapped in OCaml. When I met Graydon several years ago (brilliant dude, PS), he was quite intrigued by OCaml, and strongly recommended I check it out. If ML had any influence at all , it uses variant types instead. About time more languages use them! Rather than, "oh crap! every single variable could potentially be null at any time !", the few functions that can be null make you c…

Yes, it does have variant types and pattern matching, and an option type in the standard library, just like ML. Contrary to ML, it doesn't require variables to be initialized when declared. The typestate system checks (statically) that they are not referenced before initialized.

>Contrary to ML, it doesn't require variables to be initialized when declared. The typestate system checks (statically) that they are not referenced before initialized.

What's the point, then?

Re: Mozilla Is Designing a New Programming Language Language Called Rust

#68
post #31

Earlier quoted context omitted.

Compared to Go: * Rust does not have NULL!! * Rust has parametric polymorphism. * Rust has more predictable memory/cpu usage thanks to forgoing global GC for a novel memory management model based on stack allocation/RAII, immutability, isolated processes and reference counting. * Rust has a very Erlang-like model of handling failures. * Rust has typestate, which is an easy to use way of proving properties about your…

> * Rust does not have NULL!! That hardly strikes me as a feature. Null pointers simplify a lot of error-checking. Don't know if what you got back was valid? As easy as checking to see if it's zero!

Think again. Null pointers were a "billion dollar mistake" (http://lambda-the-ultimate.org/node/3186) according to C.A.R. Hoare (no relation to Graydon).

Look deeper, there is a rich world of Programming Language history and research linked from Rust's FAQ. Don't cling to your Java or C/C++ null pointers.

Re: Mozilla Is Designing a New Programming Language Language Called Rust

#69
post #11

Earlier quoted context omitted.

Actually, Brendan discussed that very topic recently: http://www.aminutewithbrendan.com/pages/20101122

His argument against Bytecode is unconvincing, in particular version hell and optimization limits in bytecode. The part that is convincing is the fact that we can't get vendors to agree on a bytecode. It's unfortunate that the most popular platform in the world will continue to look like it was cobbled together by CS 101 studwents who weren't particularly great students, and were drunk. People thought Windows 2.0 was…

My "argument" against bytecode on the basis of inevitable version hell and bytecode-lowering tending to overspecify against alternative implementation and optimization strategy is fundamentally an observation: both Java and .NET were designed for one particular language first, and the intermediate code design reflects this in many hardcoded and hard-to-change ways. Not only in what was put into the bytecode, but what was left out.

Both the JVM and the CLR fail to run other than their premier languages, or nearby languages, very well (fast enough or with all features in the "port"). Continuations? Hah. Invokedynamic has taken way too long and the JS VMs have run laps around the JVM.

Yes, browser vendors will also not agree, and for these good reasons among other more "selfish" ones. Get over it.

Re: Mozilla Is Designing a New Programming Language Language Called Rust

#70
post #20

A new "systems" language? Really? What about an IL to replace Javascript as the lingua franca, rather than doing this?

mozilla does not have the power to create a new lingua franca. JS is the language of the web they are in the mittle of the standartisation why would the complicate stuff even more?

Rust is not for the web. It's an ahead-of-time compiled static systems programming language, for goodness' sake. Please read the FAQ before posting.
Post reply on HN