Standardizing Go
softwaresimply.blogspot.com
softwaresimply.blogspot.com
Second, while we always think of C as a "bare metal" language, there are two things that I would count as important in that category. Bare metal programming would have some cache consciousness, perhaps. And a bare metal programming language would make it easy to write coroutines, such as BLISS did and was actually easy in languages like Sigma 5 assembler. C does not do these things for me. Also, how many would agree that a "bare metal" language would have GC?
Another thing I would expect from a systems programming language is a little more confidence that my program is correct than I get from raw C. Lack of pointers, array bounds checking would be plus features here.
And I disagree a little with the assertion that C lacks a controlling body. Nowadays there is not that much disagreement amongst C compilers. C++ is quite another story.
I like the thrust of GO, particularly in the context of the systems programming area, where C++ is usually truncated by internal coding standards (see exceptions in the google coding standards), and templates are often limited by internal coding convention.
I agree that C now has a better controlling body. Those comments generally referred to the whole history of C and C++ combined.
Having spent some formative years writing assembler in an interrupt-rich environment has tended to shape my idea of bare metal.