News for hackers. Stuff that matters.
Re:Go’s march to low-latency GC by arcticbull on Wednesday July 06, 2016 @02:42PM (#12045024)
It's because GC is a bad idea that's had 30 years of good research thrown after it. Advancing GC is building a faster horse instead of stepping back and building a car. It's time to move on, and I'm thrilled to see modern languages (Swift, Rust) abandoning it and focusing on building more intelligent compilers.

The goal shouldn't ever be to make the world's best GC, it should be to create the world's best way to elide lifetimes so that developers don't have to think about memory management. GC shouldn't be a goal, it's a technique for solving a problem, one of many that we should explore.

Re:Go’s march to low-latency GC by aserafini on Wednesday July 06, 2016 @03:57PM (#12045452)
Seems like the opposite surely? We should be developing languages that more succinctly address the problems we humans are trying to solve not book keeping for the computer's hardware (that should be the computers job!).
Re:Go’s march to low-latency GC by weberc2 on Wednesday July 06, 2016 @04:30PM (#12045691)
I think you missed the bit where he said "more intelligent compiler". The compiler is the bit that does the bookkeeping, only in Rust (and evidently Swift--I haven't played with it much) it's done statically, ahead of time rather than at runtime.

That said, I think Go is a much more practical language than Rust for most problems. That said, I'm still very excited about Rust.

Re:Go’s march to low-latency GC by coldtea on Wednesday July 06, 2016 @09:24PM (#12046953)
>I think you missed the bit where he said "more intelligent compiler"

Also known as "sufficiently smart compiler": http://c2.com/cgi/wiki?SufficientlySmartCompiler

Re:Go’s march to low-latency GC by weberc2 on Thursday July 07, 2016 @12:21PM (#12050290)
These are different things. A sufficiently smart compiler is a hypothetical compiler that could theoretically optimize a high level language so that it could be faster than some low level language. This isn't what we're talking about here--we're talking about the concrete ability of the Rust compiler to preclude certain classes of errors.
Re:Go’s march to low-latency GC by arcticbull on Wednesday July 06, 2016 @05:19PM (#12045963)
Yeah, that's exactly what I was trying to say. Rust does all the bookkeeping at compile time, Swift keeps a lot of it at run-time although the compiler can easily optimize away a lot of lifecycle stuff too when it's in scope, so I assume it either does or will.

I agree that Rust likely does not have the be-all answer to automatic memory management, though what I love about it is that they're pushing the boundaries and getting people thinking differently about memory management.

Re:Go’s march to low-latency GC by weberc2 on Thursday July 07, 2016 @12:23PM (#12050312)
> I agree that Rust likely does not have the be-all answer to automatic memory management, though what I love about it is that they're pushing the boundaries and getting people thinking differently about memory management.

Me too. I intend to use it for more of my hobby things, but Go is currently the best fit. Eventually I imagine Rust will pick up some decent GUI libraries or at least get decent editor support (vim-go is lightyears ahead of YCM+racer) and I'll be able to afford to justify using it more.

Re:Go’s march to low-latency GC by gnuvince on Wednesday July 06, 2016 @04:43PM (#12045771)
What he said is that the goal should be that developers need not handle memory manually. GC is one technique to achieve that goal, and the one that has been the most successful so far, however we should not equate automatic memory management and garbage collection: other techniques could offer an as good or even better experience if we took the time to explore, develop, and refine them.
Re:Go’s march to low-latency GC by justinhj on Wednesday July 06, 2016 @08:53PM (#12046867)
GC is also required for persistent data structures which makes it a must have for languages where immutable data is a fundamental strategy for handling concurrency.
Re:Go’s march to low-latency GC by strictfp on Wednesday July 06, 2016 @04:34PM (#12045717)
Thank you! Finally someone who talks sense.