1. 程式人生 > >史上最難程式設計的軟體是什麼?

史上最難程式設計的軟體是什麼?

關注「實驗樓」,每天分享一個專案教程   

類似 Windows 的作業系統,是相當複雜和高難的軟體。它有 4500 萬行程式碼,完成了硬體介面、操作檔案系統、網路管理系統、監督記憶體訪問等諸多功能……還有哪些軟體是最難編寫的?歡迎留下你的答案。

正文共:1138 字 

預計閱讀時間:3 分鐘

簡評:Quora上的一個問題,摘取兩位網友的回答。

@Mohammed Isam:

我會說,類似 Windows 的作業系統,是相當複雜和高難的軟體。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

該軟體已有 32 年曆史,從 16 位 MS Dos 到完全成熟的 64 位作業系統。它有 4500 萬行程式碼。程式碼完成了硬體介面、操作檔案系統、網路管理系統、監督記憶體訪問等諸多功能。從頭開始編寫這樣的程式碼是非常之困難的。(類似的還有 ReactOS 團隊,他們已經編寫了 500 萬行程式碼)

另外個例子,Mozilla Firefox 是一款非常複雜的軟體。

640?wx_fmt=jpeg

這個怪物大概有 5100 萬行程式碼,其中大部分都是 C++,JavaScript 和 C,畢竟作為一個跨平臺、多語言、全面、頂尖的 Web 瀏覽器,其難度可想而知。

第三個例子是 GNU/Linux 通用編譯器 GCC。

640?wx_fmt=jpeg

在最後一個版本(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 開源了計算機指令和登月部分的原始碼。

這有多困難?首先這是第一艘載人登月火箭,前無古人。一切都是從零開始。更重要的是,使用最低階的組合語言編寫,你敢想象麼?

需要考慮的另一件事是這個系統如何保持內部時鐘同步,如果你瞭解時區模組,你就知道其複雜度和處理難度會讓人發狂的。

640?wx_fmt=jpeg

你所知道的最難編寫的軟體是什麼?歡迎評論留言。

原文:Mohammed Isam's answer to What is the hardest program to code from scratch?

園長:寫本文是因為看到知乎另一個回答「囚於一室5年,身邊只能偷偷藏一本書,為了不瘋掉,你的選擇會是什麼?」

640?wx_fmt=jpeg

@pig pig

感謝啟示

640?

640?wx_fmt=png  

點選進入【實驗樓小程式】

隨時隨地,學習程式設計

譯者:園長

出處:極光日報

連結:https://zhuanlan.zhihu.com/p/35057341

640?wx_fmt=1