圖例: “->” 表示有一個明顯的遷移過程。一、操作系統:Microsoft Windows :匯編 -> C -> C++備注:曾經在智能手機的操作系統(Windows Mobile)考慮摻點C#寫的程序,比如軟鍵盤,結果因為寫出來的程序太慢,實在無法和別的模塊合并,最終又回到C++重寫。Linux :CApple MacOS : 主要為C,部分為C++。 備注: 之前用的語言比較雜,最早是匯編和Pascal。Sun Solaris : CHP-UX : CSymbian OS : 匯編,主要為C++。 (諾基亞手機)Google Android 2008年推出: C語言(有傳言說是用Java開發的操作系統,但最近剛推出原生的C語言SDK)RIM BlackBerry OS 4.x : 黑莓 C++二、圖形界面層Microsoft Windows UI :C++Apple MacOS UI (Aqua) : C++Gnome (Linux圖形界面之一,大腳): C和C++, 主要是C。KDE (Linux圖形界面),C++。三、桌面搜索工具Google Desktop Search : C++Microsoft Windows Desktop Search : C++Beagle (Linux/Windows/UNIX 下): C# (基于開源的.net : Mono)四、辦公軟件Microsoft Office :在 匯編 -> C -> 穩定在C++Sun Open Office : 部分JAVA(對外接口),主要為C++ (開源,可下載其源代碼)Corel Office/WordPerfect Office : 1996年嘗試過Java,次年被拋棄,重新回到C/C++Adobe Systems Acrobat Reader/Distiller : C++五、關系型數據庫 Oracle : 匯編、C、C++、Java。主要為C++。MySQL : C++IBM DB2 :匯編、C、C++,主要為C。Microsoft SQL Server : 匯編 -> C->C++IBM Informix : 匯編、C、C++,主要為C。SAP DB/MaxDB : C++六、Web Browsers/瀏覽器:Microsoft Internet Explorer : C++Mozilla Firefox : C++Netscape Navigator :The code of Netscape browser was written in C, and Netscape engineers, all bought to Java (see M. Cusumano book and article) redeveloped the browser using Java. It was too slow and abandoned. Mozilla, the next version, was later developed using C++. Safari : (2003年1月發布)C++Google Chrome : (2008的發布)C++Sun HotJava : Java (死于1999年)Opera : C++ (手機上占用率比較大)Opera Mini : Opera Mini (2007) has a very funny architecture, and is indeed using both C++ and Java. The browser is split in two parts, an ultra thin (less than 100Kb) "viewer" client part and a server side responsible of rendering. The first uses Java and receives the page under the OBML format, the latter reuses classical Opera (C++) rendering engine plus Opera's Small Screen Rendering, on the server. This allows Opera to penetrate various J2ME-enabled portable devices, such as phones, while preserving excellent response time. This comes obviously with a few sacrifices, for instance on JavaScript execution.Mosaic : 鼻祖(已死) C 語言七、郵件客戶端Microsoft Outlook : C++IBM Lotus Notes : JavaFoxmail : Delphi八、軟件開發集成環境/IDE:Microsoft Visual Studio : C++Eclipse : Java (其圖形界面SWT基于C/C++)Code::Blocks : C++九、虛擬機Microsoft .Net CLR (.NET的虛擬機): C++Java Virtual Machine (JVM) : Java 虛擬機:C++十、ERP軟件 (企業應用)SAP mySAP ERP : C,后主要為“ABAP/4”語言Oracle Peoplesoft : C++ -> JavaOracle E-Business Suite : Java十一、商業智能(Business Intelligence )Business Objects : C++十二、圖形處理Adobe Photoshop : C++The GIMP : C十三、搜索引擎Google : 匯編 與 C++,主要為C++十四、著名網站eBay : 2002年為C++,后主要遷至Javafacebook : C++ 和 PHPThis line is only about facebook, not its plugins. Plugins can be developed in many different technologies, thanks to facebook's ORB/application server, Thrift. Thrift contains a compiler coded in C++. facebook people write about Thrift: "The multi-language code generation is well suited for search because it allows for application development in an efficient server side language (C++) and allows the Facebook PHP-based web application to make calls to the search service using Thrift PHP libraries." Aside the use of C++, facebook has adopted a LAMP architecture. 十五、 游戲 :匯編、C、C++十六、編譯器Microsoft Visual C++ 編譯器: C++ Microsoft Visual Basic 解釋、編譯器:C++Microsoft Visual C# : 編譯器: C++gcc (GNU C compiler) : Cjavac (Sun Java compiler) : JavaPerl : C++PHP : C十七、3D 引擎Microsoft DirectX : C++OpenGL : COGRE 3D : C++十八、Web Servers (網頁服務)Apache : C和C++,主要為CMicrosoft IIS : C++十九:郵件服務Microsoft Exchange Server : C->C++Postfix : ChMailServer : C++Apache James : Java二十:CD/DVD 刻錄Nero Burning ROM : C++K3B : C++二十一:媒體播放器NullsoftWinamp : C++Microsoft Windows Media Player : C++Microsoft Windows Media Player : C++二十二:Peer to Peer (P2P軟件)eMule : C++μtorrent : C++Azureus : Java (圖形界面使用基于C/C++的SWT,類Eclipse)二十三:全球定位系統(GPS)TomTom : C++Hertz NeverLost : C++Garmin : C++Motorola VIAMOTO : 2007年6月,停止服務。 Java。
|