Re:Why has CPU frequency ceased to grow? (2014)
by burntsushi on Wednesday February 21, 2018 @12:05PM
(#16430916)
I think Go does make it relatively easy to write parallel code in comparison to most other frequently used languages.
> Not sure any other language includes that out of the box!
Rust's compiler does it by default, at compile time. ;-) Go's race detector is never wrong, but it may omit things. On the other hand, Rust's compiler is also neither wrong nor does it omit things, except under one circumstance: someone, somewhere, wrote `unsafe` code and committed a bug inside that block.
ThreadSanitizer is also a thing: https://clang.llvm.org/docs/ThreadSanitizer.html
Re:Why has CPU frequency ceased to grow? (2014)
by Thaxll on Wednesday February 21, 2018 @11:37AM
(#16430677)
Except in other languages it's not part of the core, it's an external library. So on the end it's easy to write "parallel" code.
Re:Why has CPU frequency ceased to grow? (2014)
by gameswithgo on Wednesday February 21, 2018 @01:41PM
(#16431794)
In C#, Task is part of the language, thread safe queues are part of the core libs.
Still not quite as tightly integrated as Go though.
Go's implementation of these things is nice, neat, and all included out of the box though which is nice.
In general you can make parallelism easy, or efficient, rarely both, at least not in a way that can solve problems generally.
edit: I should add Go does also come with a data-race detection tool which can be very useful. Not sure any other language includes that out of the box!