Live data from Hacker News

Rust 0.2 released

mail.mozilla.org

91–97 of 97 posts

Re: Rust 0.2 released

#91
post #72

Earlier quoted context omitted.

My personal guesses why Ada lost: In (Western) academia was a massive dislike of Ada because of its DoD roots and NATO applications, so they didn't use it for teaching. And hackers disliked it because it was a committee-designed language and it's pretty restrictive (even paternalistic) and directed toward mediocre programmers (a good decision for systems that run over decades and have big, changing teams assigned to…

I think if there was a good, free version of an Ada compiler that had a permissive open-source license, then people would be using it.

There is one from the market leader, it's called GNAT and it's part of the GCC: http://libre.adacore.com/libre/

Re: Rust 0.2 released

#92
post #72

Earlier quoted context omitted.

My personal guesses why Ada lost: In (Western) academia was a massive dislike of Ada because of its DoD roots and NATO applications, so they didn't use it for teaching. And hackers disliked it because it was a committee-designed language and it's pretty restrictive (even paternalistic) and directed toward mediocre programmers (a good decision for systems that run over decades and have big, changing teams assigned to…

> In (Western) academia was a massive dislike of Ada because of its DoD roots and NATO applications, so they didn't use it for teaching. DARPA funds lots of computer science research, so I doubt academic dislike of DOD is a big factor.

From what I know in Europe, the military background was a relevant issue.

Re: Rust 0.2 released

#93
post #92

Earlier quoted context omitted.

> In (Western) academia was a massive dislike of Ada because of its DoD roots and NATO applications, so they didn't use it for teaching. DARPA funds lots of computer science research, so I doubt academic dislike of DOD is a big factor.

From what I know in Europe, the military background was a relevant issue.

In Europe maybe. In the US, hardly. We're talking early nineties, not the sixties. In the IT academia there were hardly any leftists that would oppose a language on the basis of it being used by the DoD.

Re: Rust 0.2 released

#94
post #71

Earlier quoted context omitted.

Pertinent to what I said? Garbage collection is the biggie. Utterly unacceptable in systems work.

Both Rust and Go have GCs. It is true that Rust has mostly per-thread GC, which should help to curb performance concerns quite a bit. And Rust aims to have more explicit control over where things are allocated. But it's still a GCed language. Whether GC is acceptable in systems work depends on what you construe as "systems work" (kernels and GC don't mix nicely; browsers and GC is OK if you're careful).

Graydon has been adamant that Rust must provide the ability to avoid tracing GC if the programmer wants. I was at first skeptical, but now I'm fully on board. For things like browsers, control over memory management is crucial.

Re: Rust 0.2 released

#95
post #32

Earlier quoted context omitted.

Sorta... many types have a more strongly enforced ownership style lifetime scope, but depending on the data you are declaring, the collector may come into action automatically. Basically, Rust makes it easy to avoid the collector by clear ownership rules, but still provides a collector for the cases where that just won't do.

In previous threads (can't remember if it was here or on reddit), Rust developers noted that Rust currently needs a GC for many things, but part of the Region works is aimed at removing that need (aka unless the efforts fail, you should be able to use Rust 1.0 sans GC)

Rust actually doesn't have tracing GC; it instead uses reference counting and cycle collection. The major things that have stopped us from tracing GC so far are LLVM issues; I'm working on those now and we'd like to introduce optional tracing GC soon.

My personal thinking is that the standard libraries should avoid the GC and use regions, reference counting should be achievable through a "smart pointer" type in the standard library, and GC should be provided if the programmer wants it.

Re: Rust 0.2 released

#96
post #71

Earlier quoted context omitted.

Pertinent to what I said? Garbage collection is the biggie. Utterly unacceptable in systems work.

Both Rust and Go have GCs. It is true that Rust has mostly per-thread GC, which should help to curb performance concerns quite a bit. And Rust aims to have more explicit control over where things are allocated. But it's still a GCed language. Whether GC is acceptable in systems work depends on what you construe as "systems work" (kernels and GC don't mix nicely; browsers and GC is OK if you're careful).

My understanding is it's GCed depending on types used meaning you can bypass GC if needed.
Post reply on HN