On Sat, Jul 21, 2012 at 5:38 PM, Jonathan M Davis <jmdavisProg@gmx.com> wrote:
On Saturday, July 21, 2012 19:13:20 Nick Sabalausky wrote:
> On Sat, 21 Jul 2012 14:41:05 +0200
>
> Paulo Pinto <pjmlp@progtools.org> wrote:
> > Regarding systems programming, Go could actually play in the same
> > league as D
>
> [...]
>
> > The trick with Oberon, which Go also uses, is to have a special module
> > reckognised by the compiler with primitives to do the low tricks C
> > offers. Additionaly any function/method without body can be
> > implemented in Assembly. This is nothing new, Modula-2 already worked
> > like this.
>
> If a language has to resort to such "outside-of-the-language" tricks
> like that to do system software, then it's just simply not a systems
> language.

I tend to agree. However, it's my understanding that when the Go folks talk
about Go being a "systems language," they mean that it's meant for building
large systems, not that it's meant for writing low-level stuff like kernels,
which is what C++ and D mean when they call themselves systems languages. So,
I believe that the core problem here is that the term is being used differently
by different languages rather than Go claiming that they're a systems language
in the C++/D sense when they have to rosert to outside of the language tricks.
But I could be wrong about what they mean.

- Jonathan M Davis

The Go people no longer refer to Go as a systems language.  I believe they did intend for it to be a systems language in the same manner D is but over time they decided to focus less on that.

Here's what Russ Cox said on that matter:

"We removed the word 'systems' because it was too limiting.
Go is more general than that.  It is still a great language for
writing systems."

Regards,
Brad Anderson