簡評:Quora上的一個問題透绩,摘取兩位網(wǎng)友的回答。
我會說壁熄,類似 Windows 的操作系統(tǒng)帚豪,是相當(dāng)復(fù)雜和高難的軟件。
該軟件已有 32 年歷史请毛,從 16 位 MS Dos 到完全成熟的 64 位操作系統(tǒng)志鞍。它有 4500 萬行代碼。代碼完成了硬件接口方仿、操作文件系統(tǒng)固棚、網(wǎng)絡(luò)管理系統(tǒng)、監(jiān)督內(nèi)存訪問等諸多功能仙蚜。從頭開始編寫這樣的代碼是非常之困難的此洲。(類似的還有 ReactOS 團(tuán)隊,他們已經(jīng)編寫了 500 萬行代碼)
另外個例子委粉,Mozilla Firefox 是一款非常復(fù)雜的軟件呜师。
這個怪物大概有 5100 萬行代碼,其中大部分都是 C++贾节,JavaScript 和 C汁汗,畢竟作為一個跨平臺、多語言栗涂、全面知牌、頂尖的 Web 瀏覽器,其難度可想而知斤程。
第三個例子是 GNU/Linux 通用編譯器 GCC角寸。
在最后一個版本(v7.3.0)的源代碼中使用 David Wheeler 的 SLOCCount工具,我發(fā)現(xiàn) GCC 的核心部分大約有 500 萬行代碼(主要是 C,C ++ 和 Ada)扁藕。請記住沮峡,GCC 是一個龐大的軟件,它的前端可以編譯6種不同的語言(C亿柑,C ++邢疙,Ada,Objective C橄杨,F(xiàn)ortran秘症,Go)以及 8 種即將推出的語言。編寫一個多通道式矫,跨語言編譯器可能非常困難乡摹。
@Afrizal Fikri:
阿波羅 11 號火箭制導(dǎo)系統(tǒng)相當(dāng)之復(fù)雜。最近有人在 github 開源了計算機指令和登月部分的源代碼采转。
這有多困難聪廉?首先這是第一艘載人登月火箭,前無古人故慈。一切都是從零開始板熊。更重要的是,使用最低級的匯編語言編寫察绷,你敢想象么干签?
需要考慮的另一件事是這個系統(tǒng)如何保持內(nèi)部時鐘同步,如果你了解時區(qū)模塊拆撼,你就知道其復(fù)雜度和處理難度會讓人發(fā)狂的容劳。
你所知道的最難編寫的軟件是什么?歡迎評論留言闸度。
原文鏈接:Mohammed Isam's answer to What is the hardest program to code from scratch?
推薦閱讀:這些是 Python 官方推薦的最好書籍