作者amozartea (單車單)
看板C_and_CPP
標題Re: [問題] 為什麼作業系統都用C寫? 而不用C++呢?
時間Sat Jun 15 02:16:09 2013
機器看到的只是機器碼
這個問題在以前會變成: 為什麼大部分作業系統都是"組語"
再更久以前會是 為什麼都用turing machine XD
這問題也很難明確給個答案
實際上JVM是用java寫的 但是底層是C 該算java OS還是C OS...
Windows很多功能是用C++做的 有些甚至是C#...
那win7到底該算是用C做的還是C++還是C#...
-------------------------------------------------------
我想你的問題應該是為什麼控制硬體的底層大部分是傾向用C..
我的看法是這是hardware-dependent的....
現在會底層用C 是因為硬體設計成比較適合用C的語法控制
然後出compiler的人一開始也是針對C出
這你要怪Intel..
而還沒有物件導向特性的硬體 (也許未來會有哪個天才做出來)
如果有物件導向特性的硬體 我相信會開始流行C++或是JRM : Java "Real" Machine.....
--------------------------------------
實際上會寫什麼OS....
阿就遇到哪種compiler就寫什麼阿XD
有時候就遇到給了半C++半C的板子
也不是標準庫 但卻很神奇的可以用一些物件導向..
也是就照寫...這時該算寫C還是C++...?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.106.35
※ 編輯: amozartea 來自: 118.168.106.35 (06/15 02:18)
※ 編輯: amozartea 來自: 118.168.106.35 (06/15 02:26)
※ 編輯: amozartea 來自: 118.168.106.35 (06/15 02:27)
推 chchwy:turing machine....這是認真的還是開玩笑的... 06/15 10:03
推 Bencrie:C 出來的時候 x86 還沒問世,跟 Intel 有啥關係啊 XD 06/15 11:43
→ suhorng:turing machine絕對是開玩笑的吧XD 06/15 11:48
→ tjjh89017:應該都是想辦法用C寫出compiler之後,然後就放棄用C了吧 06/15 14:00
推 wuliou:我也碰過板子範例都是C 結果實際編譯器是C++的 06/15 18:02
→ wuliou:我還想說奇怪為什麼他可以做overloading.XD 06/15 18:03
→ Thelink:物件導向的硬體特性是什麼,現在的硬體不就可以執行C++了 06/16 20:18
→ Thelink:嘛,請問是需要硬體支援什麼,會使C++變快嘛? 06/16 20:19
→ MOONRAKER:可能是iAPX 432那種支援吧。不過我懷疑原po聽過那是啥。 06/16 21:17