&gt; <i>Go was originally written to replace the things C++ is usually used for.</i><p>Go was originally written to replace the things C++ is usually used for <i>within Google</i>. C++ is used for many other things (embedded programming, games and graphics engines, etc.) that it doesn&#x27;t seem like the Go authors were targeting. In fact, Pike said &quot;we were pleased and a little surprised to find [Go] suitable for general-purpose programming&quot; [1]. This suggests they weren&#x27;t intending to create an across-the-board replacement of C++, since C++ is certainly a general-purpose programming language. Perhaps to a fault.<p>&gt; <i>I think the motivation behind creating Go was there weren&#x27;t many new languages made to make writing systems level software easier.</i><p>The authors ran into issues describing it as a &quot;systems language,&quot; since it&#x27;s not really a systems language in the conventional sense (i.e., low-level language with fine-grained control over hardware and memory) [1]. Because C++ <i>is</i> used for conventional systems programming, and the Go team described Go as a C++ replacement, this probably ended up doing Go&#x27;s reputation more harm than good.<p>Pike and the Go team have essentially redefined &quot;systems language&quot; for their purpose, as a language targeting servers and interconnected systems. And it excels there.<p>[1] <a href="http:&#x2F;&#x2F;www.informit.com&#x2F;articles&#x2F;article.aspx?p=1623555" rel="nofollow">http:&#x2F;&#x2F;www.informit.com&#x2F;articles&#x2F;article.aspx?p=1623555</a><p>[2] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;System_programming" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;System_programming</a>