News for hackers. Stuff that matters.
Re:D Language accepted for inclusion in GCC by kibwen on Wednesday June 21, 2017 @04:03PM (#14607378)
> I'm not really sure that they target C++ or aim to replace it, unlike D.

The evolution of both Go's and Rust's strategies as "replacement" languages is actually pretty interesting.

While Go's official marketing no longer calls it a systems language, the use of that phrase when Go was originally released does indicate that that they envisioned Go to be a "better C" in a sense (perhaps specifically in the sense of being used for userspace "system" utilities in the same vein as the Rob Pike's C-like Alef on Plan 9). At the same time, much of the public rationale given for Go was obviously to avoid the pitfalls of using C++ at Google-like scales (e.g. an aversion to junior-dev footguns and a fanatical focus on fast compilation), which implies that they saw some potential for replacing C++, though they later acknowledged that very little of Go's growth appeared to be coming from C++ programmers (see https://commandcenter.blogspot.com/2012/06/less-is-exponenti... : "Although we expected C++ programmers to see Go as an alternative, instead most Go programmers come from languages like Python and Ruby. Very few come from C++.").

Meanwhile, given that Mozilla intended to write a browser engine in Rust, old versions of Rust absolutely intended to replace C++. Like D and Go, ancient pre-0.1 Rust was willing to impose a runtime by default in order to guarantee memory safety (originally intending for both green threads and a garbage collector to be baked into the language), until years of experimentation proved that its static checks were capable of providing memory safety without a runtime, which is the pivotal moment in Rust history (actually a series of pivotal moments, but let me be romantic). Nowadays, rather than market itself as a C++ replacement exclusively, Rust tends to position itself outside of the traditional spectrum of languages as simply a zero-overhead memory-safe systems language. While it's still true Rust competes with C++, is inspired by C++, and can be used to replace C++ (e.g. its usage at Dropbox and in Firefox), Rust also intends to compete directly with C, e.g. for system utilities (e.g. ripgrep), reusable low-level libraries (e.g. librsvg), and extending high-level languages (e.g. Helix).

Re:D Language accepted for inclusion in GCC by _ak on Wednesday June 21, 2017 @06:36PM (#14608561)
> While Go's official marketing no longer calls it a systems language, the use of that phrase when Go was originally released does indicate that that they envisioned Go to be a "better C" in a sense

Rob Pike uses the phrase within the first 5 minutes or so of the very first presentation video announcing Go, and explicitly mentions that they mean "systems" in the sense of webservers and the like. Since then, Go being a systems language has endlessly (and often maliciously) been misrepresented, so under these circumstances, it's only understandable why this phrase was dropped, even though it was absolutely appropriate since its first use gave plenty of context.

Re:D Language accepted for inclusion in GCC by Ded7xSEoPKYNsDd on Thursday June 22, 2017 @03:08PM (#14614511)
I don't think web servers clarifies much, though. The most important web servers (Apache, nginx, ISS, etc.) are all written in C or C++, and they try to squeeze out every bit of performance they can. I guess we're talking about applications communicating over HTTP, but that's not my first thought when I hear someone talking about web servers without any more context.

(I'm aware of Caddy, but my understanding is that it's aiming for ease of use over performance.)

Re:D Language accepted for inclusion in GCC by mholt on Tuesday June 27, 2017 @03:18AM (#14643130)
We'll focus on tuning performance after 1.0. ;)
Re:D Language accepted for inclusion in GCC by treehau5 on Wednesday June 21, 2017 @04:52PM (#14607847)
I would like to contact Go's "official marketing" department and tell them they have done a horrible job at marketing, because most of the lauding for go comes from developers I know that love getting work done with it!

In any case, I will +1 you on coming from python and ruby, and add another major bucket go developers come from is node js.

Re:D Language accepted for inclusion in GCC by leshow on Wednesday June 21, 2017 @08:33PM (#14609236)
> old versions of Rust absolutely intended to replace C++

is that true? Old versions of Rust looked like Go, IMO.

Re:D Language accepted for inclusion in GCC by kibwen on Thursday June 22, 2017 @08:51AM (#14611859)
Indeed, but as I say in my comment, Go originally foresaw itself replacing C++ as well. The idea that one needed to add a runtime in order to "replace" C++ stems back to the original (and massively successful!) C++ replacement: Java.