史上最難程式設計的軟體是什麼?
關注「實驗樓」,每天分享一個專案教程
類似 Windows 的作業系統,是相當複雜和高難的軟體。它有 4500 萬行程式碼,完成了硬體介面、操作檔案系統、網路管理系統、監督記憶體訪問等諸多功能……還有哪些軟體是最難編寫的?歡迎留下你的答案。
正文共:1138 字
預計閱讀時間:3 分鐘
簡評:Quora上的一個問題,摘取兩位網友的回答。
@Mohammed Isam:
我會說,類似 Windows 的作業系統,是相當複雜和高難的軟體。
該軟體已有 32 年曆史,從 16 位 MS Dos 到完全成熟的 64 位作業系統。它有 4500 萬行程式碼。程式碼完成了硬體介面、操作檔案系統、網路管理系統、監督記憶體訪問等諸多功能。從頭開始編寫這樣的程式碼是非常之困難的。(類似的還有 ReactOS 團隊,他們已經編寫了 500 萬行程式碼)
另外個例子,Mozilla Firefox 是一款非常複雜的軟體。
這個怪物大概有 5100 萬行程式碼,其中大部分都是 C++,JavaScript 和 C,畢竟作為一個跨平臺、多語言、全面、頂尖的 Web 瀏覽器,其難度可想而知。
第三個例子是 GNU/Linux 通用編譯器 GCC。
在最後一個版本(v7.3.0)的原始碼中使用 David Wheeler 的 SLOCCount工具,我發現 GCC 的核心部分大約有 500 萬行程式碼(主要是 C,C ++ 和 Ada)。請記住,GCC 是一個龐大的軟體,它的前端可以編譯6種不同的語言(C,C ++,Ada,Objective C,Fortran,Go)以及 8 種即將推出的語言。編寫一個多通道,跨語言編譯器可能非常困難。
@Afrizal Fikri:
阿波羅 11 號火箭制導系統相當之複雜。最近有人在 github 開源了計算機指令和登月部分的原始碼。
這有多困難?首先這是第一艘載人登月火箭,前無古人。一切都是從零開始。更重要的是,使用最低階的組合語言編寫,你敢想象麼?
需要考慮的另一件事是這個系統如何保持內部時鐘同步,如果你瞭解時區模組,你就知道其複雜度和處理難度會讓人發狂的。
你所知道的最難編寫的軟體是什麼?歡迎評論留言。
原文:Mohammed Isam's answer to What is the hardest program to code from scratch?
園長:寫本文是因為看到知乎另一個回答「囚於一室5年,身邊只能偷偷藏一本書,為了不瘋掉,你的選擇會是什麼?」
@pig pig
感謝啟示
點選進入【實驗樓小程式】
隨時隨地,學習程式設計
譯者:園長
出處:極光日報
連結:https://zhuanlan.zhihu.com/p/35057341