點灬小點
你好,我是程序員老馬。
我很高興能夠回答這個問題,希望能夠幫助到你。
ㅤ
為什麼當年Linus不用c#去寫Linux系統?這個確實一個楞住了,因為有點不合常理。
ㅤ
一、時間上的不對等
我們從下面的截圖中可以看到,Linux的作者是1991年發佈了0.01版本。最新的版本是2019年11月21日。
ㅤ
ㅤ
然後我們再對比一下C#語言的發佈時間。他是2000年發佈。最新穩定版本是2019年9月23日
ㅤ
ㅤ
顯然,從圖片可以看出C#比Linux晚了大約9年的時間才出來。這個時間上是不對等的,所以Linux的作者無法使用C#來開發Linux系統。
ㅤ
二、那麼C#出來後,可以用C#來編寫Linux系統嗎?
答案:理論是可以的。
因為C#也一樣可以做底層編譯為機器代碼,所以,沒有C#不能做的操作系統,差別更多的可能是在其它領域的方面。
ㅤ
三、那麼既然C#也能開發Linux,為什麼不做個C#版的Linux系統呢?
那是因為Linux是一種自由和開放源碼的類UNIX操作系統。
該操作系統的內核由1991年10月5日首次發佈,在加上用戶空間的應用程序之後,成為Linux操作系統。
Linux也是自由軟件和開放源代碼軟件發展中最著名的例子。只要遵循GNU 通用公共許可證(GPL),任何個人和機構都可以自由地使用Linux的所有底層源代碼,也可以自由地修改和再發布。
ㅤ
而C#是有版權的,屬於微軟件公司的版權。那麼一個以自由開放為宗旨的操作系統,就不太可能再去開發一個需要C#版權的系統了。
ㅤ
三、那麼C#後來不是有.net core開源的呢,能不能做呢?
答案:不能做。
ㅤ
ㅤ
如上圖,.net core出來的日期是2016年6月27日,如果這時候還來做操作系統,可能有點養魚的意思了。Linux系統早已經自成體系,完全沒有必要再開發一份了。你說是嗎?
ㅤ
希望我的回答能幫助到你,祝你好運。
謝謝。
春風扇
要是沒記錯,Linux比C++早5年左右吧,就算當時有C++,也不會用的,因為Linux內核要的是穩定和高效率,C++雖然兼容C,但是臃腫,編譯器版本等問題不能寫內核,C++之父都明言,他都不能完全吃透C++。
筱楓姊Z
因為操作系統是需要跟底層硬件打交道的,有些操作c語音都有心無力,還得調用匯編語言才能完成,更何況是更高級的語音,再說c#算個屁啊,為啥要拿他寫操作系統?
Frank在努力生活
這個問題問得過於外行,超出預料之外。不用C#的原因,是因為C#是基於.NET框架的語言體系,是微軟搞出來的一套開發語言。它是面向應用層的,建立在.NET框架上;而.NET又基於操作系統之上。所以,如果用它來寫操作系統,無異於在一個操作系統上安裝.NET框架後再寫一個操作系統,這個邏輯根本就行不通!能寫操作系統的一定是支持交叉編譯工具鏈的語言或者彙編,但凡需要框架支持的高級語言都沒戲。所以不要再問這種幼稚的問題了。
羅斯福亞丁
1.Linux發佈時間早於c#
Linux發佈時間:
c#發佈時間
可以看到.Linux都有九年曆史之後c#才誕生.
2.Linux上開源社區的.c#是微軟開發的.兩個範圍的東西.
3.Linux採用c語言的原因最主要的是c語言執行效率高.
而c#是微軟公司開發的,對效率沒有太大追求的語言.
阿東探世界
第一,Linux誕生的時候還沒有C#,Java也沒有。
第二,操作系統要和硬件打交道,當時只能用匯編和C語言
創業永不晚
機器碼之上是彙編,再到C語言。做操作系統,彙編比C更直接,執行效率更高。
所以底層操作系統用匯編更有效率。
安卓,IOS這些圖像界面,不能稱之為系統,應該稱之為系統界面。底層還是LINUX,UNIX這些系統。
圖形界面更友好些。應用開發更方便些。
不花錢降溫工程
windows vista部分代碼是c#寫的卡的一批,我覺得你這問題還不夠有深度,你應該問問linux,為啥不用微軟的畫板畫個系統出來。。。。幹嘛苦哈哈的寫那痛苦的c。
墮落中的天使
C#不能用來寫操作系統,微軟也沒有用C#來寫windows,操作系統是硬件之上的系統,是原生態的。Linux是模仿unix的,unix是用C語言寫的,Linux寫的時候還沒有C#。
用戶5312843382781
LINUS寫LINUX的時候還沒C#,而且操作系統只能拿C去寫,因為太底層了。。。WINDOWS的內核也應該是C寫的。。。