图例: “->” 表示有一个明显的迁移过程。
一、操作系统:
Microsoft Windows :汇编 -> C -> C++
备注:曾经在智能手机的操作系统(Windows Mobile)考虑掺点C#写的程序,比如软键盘,结果因为写出来的程序太慢,实在无法和别的模块合并,最终又回到C++重写。
Linux :C
Apple MacOS : 主要为C,部分为C++。 备注: 之前用的语言比较杂,最早是汇编和Pascal。
Sun Solaris : C
HP-UX : C
Symbian 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 : Java
Foxmail : 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++ -> Java
Oracle E-Business Suite : Java
十一、商业智能(Business Intelligence )
Business Objects : C++
十二、图形处理
Adobe Photoshop : C++
The GIMP : C
十三、搜索引擎
Google : 汇编 与 C++,主要为C++
十四、著名网站
eBay : 2002年为C++,后主要迁至Java
This 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) : C
javac (Sun java compiler) : Java
Perl : C++
PHP : C
十七、3D 引擎
Microsoft DirectX : C++
OpenGL : C
OGRE 3D : C++
十八、Web Servers (网页服务)
Apache : C和C++,主要为C
Microsoft IIS : C++
十九:邮件服务
Microsoft Exchange Server : C->C++
Postfix : C
hMailServer : C++
Apache James : Java
二十:CD/DVD 刻录
Nero Burning ROM : C++
K3B : 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。