3 ms·
Go was originally written to replace the things C++ is usually used for. There are many other languages which work well for higher level uses. I think the motiv
by danielrhodes 10y ago
Go was originally written to replace the things C++ is usually used for. There are many other languages which work well for higher level uses. I think the motivation behind creating Go was there weren't many new languages made to make writing systems level software easier.
- freyr 10y ago> Go was originally written to replace the things C++ is usually used for. Go was originally written to replace the things C++ is usually used for within Google. C++ is used for many other things (embedded programming, games and graphics engines, etc.) that it doesn't seem like the Go authors were targeting. In fact, Pike said "we were pleased and a little surprised to find [Go] suitable for general-purpose programming" [1]. This suggests they weren't intending to create an across-the-board replacement of C++, since C++ is certainly a general-purpose programming language. Perhaps to a fault. > I think the motivation behind creating Go was there weren't many new languages made to make writing systems level software easier. The authors ran into issues describing it as a "systems language," since it'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++ is used for conventional systems programming, and the Go team described Go as a C++ replacement, this probably ended up doing Go's reputation more harm than good. Pike and the Go team have essentially redefined "systems language" for their purpose, as a language targeting servers and interconnected systems. And it excels there. [1] http://www.informit.com/articles/article.aspx?p=1623555 http://www.informit.com/articles/article.aspx?p=1623555 [2] https://en.wikipedia.org/wiki/System_programming https://en.wikipedia.org/wiki/System_programming