回覆列表
-
1 # 玩家玖叔
-
2 # 慧光
linux之父曾經罵過c++,原因就是c++不適合寫作業系統。
因為作業系統偏底層,所有東西都要嚴格把控,特別是記憶體,c++隱藏了部分細節,而且大多數人對c++底層並不深入瞭解。作業系統需要長時間執行,要求很高,C語言足夠。
C++寫的大型的專案很容易出問題,主要是人員參差不齊,很多大型專案用java更容易寫。
linux之父曾經罵過c++,原因就是c++不適合寫作業系統。
因為作業系統偏底層,所有東西都要嚴格把控,特別是記憶體,c++隱藏了部分細節,而且大多數人對c++底層並不深入瞭解。作業系統需要長時間執行,要求很高,C語言足夠。
C++寫的大型的專案很容易出問題,主要是人員參差不齊,很多大型專案用java更容易寫。
作業系統對效率要求很高,這點c++或者其他面向物件的語言是不能勝任的,面對作業系統,即使是c語言有些情況也是難以做到的,因此作業系統多是用c和彙編basic共同開發的。
c++的低效是相對底層處理上的,如果用c++不用面向物件的程式設計方法,那c++就是c,然而若用面向物件的方法,相對於c,c++的效率一定是上不去的,c++在面嚮物件語言中效率是其他面嚮物件語言難以比擬的,它的低效只是相對於更底層的語言。
事實上 windows 重寫過多次了,windows 作業系統至今,沒有改用c++開發,為什麼?
linux 似乎也沒有人用c++重寫過,怎麼沒有人用c++去寫直接與硬體打交道的部分?這就是主要原因。