3 ms·
When the Go team introduced the language, they used the phrase "systems language", and the meme has stuck, even though Rob Pike has since expressed some regret
by pohl 12y ago
When the Go team introduced the language, they used the phrase "systems language", and the meme has stuck, even though Rob Pike has since expressed some regret about having used the phrase so carelessly. Now he thinks the phrase "cloud infrastructure language" would be more apt.
http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/Panel-Systems-Programming-Languages-in-2014-and-Beyond http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/Pan...
(approx 6 minutes 45 seconds into the talk)
I think it will take about a decade for everybody to readjust their frame on this one, alas.
P.S. Rust's own Niko Matsakis is one of the 4 people in this panel discussion, by the way, and it is well worth watching – even though they burn maybe a little too much time struggling with the question of what does/doesn't constitute a systems programming language.
- spopejoy 12y agoI blame Stroustrup, who likes to throw "systems programming" or "system language" into every discussion about his baby. It is a bad meme, it even doesn't fit for C++ given it's main application as an application language (cue Torvalds rants about C++)
- kps 12y agoI wouldn't blame Stroustroup. “Systems programming” is vague because originally “systems software” was what came with your system — ranging from OS drivers (which you could write today only in a very carefully restricted subset of C++, amounting to “C with classes”), up to compilers, which can be expressed more cleanly using the larger generally-regarded-as-sane subset (e.g. STL, RAII) of C++. I think Go fits decently for the latter, and reaches up to higher-level (or lazier) code that others might write in Python or Ruby or Haskell. Rust seems to reach as far down as C, which would be nice, though I worry that LLVM lacks any target smaller than ARM to keep them honest.
- pohl 12y agoThe concept of "systems language" itself is not the meme to which I referred. Rather, the bad meme is the notion that Go is one. It may be some day if they make GC optional, but it isn't in its current form.
- pjmlp 12y agoWhy blame him? This is a correct definition. A language capable of building the OS whole stack from the ground up, taken out the obvious parts in Assembly. Yes, there are OS out there written in C++.