首頁>Club>
C語言是面相過程的,那為什作業系統用C開發而不用面相物件的語言開發,不是說面相物件比較好嗎?
15
回覆列表
  • 1 # 玩家玖叔

    作業系統對效率要求很高,這點c++或者其他面向物件的語言是不能勝任的,面對作業系統,即使是c語言有些情況也是難以做到的,因此作業系統多是用c和彙編basic共同開發的。

    c++的低效是相對底層處理上的,如果用c++不用面向物件的程式設計方法,那c++就是c,然而若用面向物件的方法,相對於c,c++的效率一定是上不去的,c++在面嚮物件語言中效率是其他面嚮物件語言難以比擬的,它的低效只是相對於更底層的語言。

    事實上 windows 重寫過多次了,windows 作業系統至今,沒有改用c++開發,為什麼?

    linux 似乎也沒有人用c++重寫過,怎麼沒有人用c++去寫直接與硬體打交道的部分?這就是主要原因。

  • 2 # 慧光

    linux之父曾經罵過c++,原因就是c++不適合寫作業系統。

    因為作業系統偏底層,所有東西都要嚴格把控,特別是記憶體,c++隱藏了部分細節,而且大多數人對c++底層並不深入瞭解。作業系統需要長時間執行,要求很高,C語言足夠。

    C++寫的大型的專案很容易出問題,主要是人員參差不齊,很多大型專案用java更容易寫。

  • 中秋節和大豐收的關聯?
  • 如果梁山好漢抗金會勝利嗎?