Excel 是用哪種計算機語言編寫的?

是低級語言還是高級語言?有傳說就是用 Basic 寫的,也有說是 C。


你們都別爭了,核心就是C++,我看過代碼。儘管不同平台上的Excel的GUI分別用不同平台上自己的native GUI庫來寫,但反正最後調用進去的都是C++。所以經常可以看到XAML調用C++,C#調用C++,Java調用C++,OC調用C++這樣的事情。

Windows 桌面版本的GUI,是從API封裝上來的,全部都是C++。這個古老的煞筆GUI庫當年是WPF的前身Avalon的前身,都是些老舊的代碼,最近我還得給他擦屁股,在一個角落裡,一個函數裡面用了三個人寫的不同的字元串類。


現在都是 C++。
老的核心排版庫真的整個是用彙編寫的,還有一個對應的 C 版本來對照。
哦對他們這個核心庫所有的內存分配都是用外面傳進來的 callback


怎麼沒有微軟er們來講一下?那我就開始造謠啦!
excel是由c++和彙編寫成的,核心片段既有c++版本也有彙編版本,目的是用於測試和出問題時對照。


沒有人爭啊 輪子哥怎麼看到有人爭?


Microsoft Office (Word, Excel, Access, PowerPoint, Outlook) 都是由Visual C++ 所寫,使用peid工具能查看到些許信息


雖然我無法確定是basic或者c,但是幾乎可以斷定的是,應該不是低級語言寫的
你能想像用MOV,PUSH寫出一個excel需要多大的工作量嗎?

再論basic和C,C的強項在它的性能,我還沒有看到Excel對性能有特別苛刻的要求
相對而言,basic更有可能一些

再或者,像excel這種大型軟體,不是某個單獨的語言的結果,他很可能是多種語言共同的結果,比如,可以是basic負責界面交互相關,C負責演算法相關

不過話說回來,知道了excel是什麼語言開發的又有多大意義呢?
我們大約不會因為excel用了basic,我們也跟著用basic
也不會因為excel用的不是C語言,我們也不用C語言
因地制宜,根據具體的情況而有不同的選擇


來 我來公布標準答案
核心庫是c++但是在去年以前用了很少的c++特性 所以更準確的說是c
2010以前的版本 核心運算有彙編 現已經被淘汰

不同的終端版本 上層有不同的代碼 安卓有java web有c# javascript


推薦閱讀:

EXCEL工作表下面出現100多萬行空白行(空值行),該怎麼刪除?
Excel 怎麼設定在整個文件中查找,而不是在一個 sheet 中查找?
大學專業課課後用Excel做筆記是什麼體驗?

TAG:編程語言 | MicrosoftOffice | MicrosoftExcel | VisualBasic | Excel公式 |