Re: [問題] 為什麼作業系統都用C寫? 而不用C++呢?

看板C_and_CPP作者 (三億兩千萬大散戶)時間16年前 (2009/03/07 11:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串13/37 (看更多)
可能因為C比較簡單比較具有可讀性可預測性吧 可以比較明確知道程式會怎麼跑或是overhead會發生在哪邊 OS kernel/driver也常會需要用到memory barrier, spinlock等機制 來更加確保程式會照著預期的步驟執行 而且會寫OS的人基本上必定是精通C語言的人 他們會使用各種匪夷所思的語法來完成如藝術般的程式碼 而C++可能太過於複雜太過於龐大 很多事都是compiler幫你完成以至於無法一眼看出全貌 雖然C++功能強大但是似乎要能夠精準駕馭C++的人來的比C更少 雖然C可以寫的很藝術但至少懂C的人專心看的話還是能理解 但如果寫的很藝術的C++我想能理解的人肯定會少很多 P.S. 很多號稱會C++的人其實根本啥都不會 我就是其中之一 我幾乎沒使用過繼承, friend, operator overload, template ... 我只會用用簡單的STL 從沒使用過Boost 我從來不會寫出類似這樣的C++ 也許對C++強者而言這只是小菜一疊而已 list<int>::iterator new_end = remove_if(L.begin(), L.end(), compose2(logical_and<bool>(), bind2nd(greater<int>(), 100), bind2nd(less<int>(), 1000))); L.erase(new_end, L.end()); 但我想對一個底層的OS而言這樣的程式碼會讓人不知道他到底做了些什麼事 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.83.188.241
文章代碼(AID): #19ibhPF9 (C_and_CPP)
討論串 (同標題文章)
完整討論串 (本文為第 13 之 37 篇):
文章代碼(AID): #19ibhPF9 (C_and_CPP)