6 ms·
Ah, so basically anyone who doesn’t agree with you just doesn’t understand.
by s2g 9y ago
Ah, so basically anyone who doesn’t agree with you just doesn’t understand.
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]
- naasking 9y agoThat would be the principle of charity in action. I would hope those who disagree would approach disagreements the same way, and one or both of us will learn the truth. Should I be assuming people who disagree with me as idiots or evil?
- stouset 9y agoThe principle of charity would have you assume there do exist good reasons to write a microkernel in C++. Perhaps not ones that you would agree outweigh the downsides, but at the very least I suspect there’s some argument to be made in favor that isn’t simply staggering ignorance.
- michaelmrose 9y agoWouldn't it be easy enough to assume that c++ has the necessary features, performance to do the job and the authors were presumably very familiar with c++ and decided existing expertise outweighed perceived advantages of other options? This does not seem incredibly complicated.
- naasking 9y ago> The principle of charity would have you assume there do exist good reasons to write a microkernel in C++ Except this was tried. More than once for different kernels (EROS and L4 at least), and they regretted it and then switched back to C. Both projects made many excellent arguments against C++ in a microkernel that haven't suddenly disappeared in modern C++. So I think I am being charitable in this case because the weight of evidence suggests otherwise. It's charitable to assume that the developers are well meaning but aren't familiar with the history. This isn't staggering ignorance, just ordinary run of the mill ignorance.
- jensa1948 9y agoCan you post a reference to the arguments? Most arguments against C++ are very dated, and sometimes are comming from people whose experience is mostly as a C programmer.
- naasking 9y agoThat might be tough for the Shapiro's argument. The EROS site is no longer available, the mailining lists are no longer available either, and citeseer's google results aren't working at the moment. Shapiro mentions a few issues in this paper which mirror the L34 arguments below [1]. For L4, there's brief mention here of the VFiasco project which attempted a verified L4 using C++, which failed despite considerable effort [2]. [3] is perhaps a better review of what worked and what didn't work in L4 research, and they explicitly discuss the issues, such as the fact that C++ conveyed no real advantages over C, the extra complexity of C++ made verification intractable (even for a subset), and practically, the availability of good C++ compilers for embedded systems was limited. [1] http://webcache.googleusercontent.com/search?q=cache:PQMCrw4eddYJ:citeseerx.ist.psu.edu/viewdoc/download%3Fdoi%3D10.1.1.560.8751%26rep%3Drep1%26type%3Dpdf+&cd=3&hl=en&ct=clnk&gl=ca http://webcache.googleusercontent.com/search?q=cache:PQMCrw4... [2] http://web5.cs.columbia.edu/~junfeng/09fa-e6998/papers/sel4.pdf http://web5.cs.columbia.edu/~junfeng/09fa-e6998/papers/sel4.... [3] https://ts.data61.csiro.au/publications/nicta_full_text/8988.pdf https://ts.data61.csiro.au/publications/nicta_full_text/8988...