4 ms·
Standardizing Go
- wglb 17y agoFirst, I think there is a difference between a language that one would call "bare metal" programming and a systems programming language. A systems programming language gives good performance, and gives you good libraries, and makes it feasible or easier to write large programs, such as, say, a compiler. 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.
- mightybyte 17y agoYou may be interpreting "bare metal" a little different than I intended. I meant for "bare metal" to increase the scope. It sounds like you interpret it as decreasing the scope. Your use of "systems" sounds like what I meant for "bare metal". I interpret "systems" as relating primarily to operating systems and direct hardware, but maybe my perception is not mainstream. I guess I just chose the wrong phrase. I agree that C now has a better controlling body. Those comments generally referred to the whole history of C and C++ combined.
- wglb 17y agoI see what you mean. Having spent some formative years writing assembler in an interrupt-rich environment has tended to shape my idea of bare metal.
- mightybyte 17y agoI edited the post to use the term "performance-oriented" instead of "bare-metal". Hopefully that makes more sense.