Fundamentals 14 min read

Which Programming Languages Power Today’s Major Software? A Comprehensive Survey

This article surveys the programming languages and technologies underlying a wide range of operating systems, user interfaces, desktop tools, databases, browsers, servers, and other software, illustrating how C, C++, Java, and other languages dominate different components across the software ecosystem.

21CTO
21CTO
21CTO
Which Programming Languages Power Today’s Major Software? A Comprehensive Survey

1、操作系统

Microsoft Windows : 汇编 → C → C++

备注:曾经在智能手机的操作系统(Windows Mobile)考虑掺点C#写的程序,比如软键盘,结果因为写出来的程序太慢,实在无法和别的模块合并,最终又回到C++重写。

相信很多朋友都知道Windows Vista,这个系统开发早期比尔盖茨想全部用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++

2、图形界面层

Microsoft Windows UI : C++

Apple MacOS UI (Aqua) : C++

Gnome (Linux图形界面之一,大脚) : C和C++,但主要是C

KDE (Linux图形界面) : C++

3、桌面搜索工具

Google Desktop Search : C++

Microsoft Windows Desktop Search : C++

Beagle (Linux/Windows/UNIX 下) : C#(基于开源的 .net : Mono)

4、办公软件

Microsoft Office : 在 汇编 → C → 稳定在C++

Sun Open Office : 部分JAVA(对外接口),主要为C++(开源,可下载其源代码)

Corel Office/WordPerfect Office : 1996年尝试过Java,次年被抛弃,重新回到C/C++

Adobe Systems Acrobat Reader/Distiller : C++

5、关系型数据库

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++

6、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) uses both C++ and Java. The browser is split in two parts, an ultra‑thin (less than 100 KB) "viewer" client part and a server side responsible for rendering. The client uses Java, the server reuses the classic Opera (C++) rendering engine plus Small Screen Rendering.

Mosaic : 鼻祖(已死) C 语言

7、邮件客户端

Microsoft Outlook : C++

IBM Lotus Notes : Java

Foxmail : Delphi

8、软件开发集成环境/IDE

Microsoft Visual Studio : C++

Eclipse : Java(其图形界面SWT基于C/C++)

Code::Blocks : C++

易语言: C++

火山中文: C++

火山移动: C++

9、虚拟机

Microsoft .Net CLR (.NET的虚拟机): C++

Java Virtual Machine (JVM) : C++

10、ERP软件 (企业应用)

SAP mySAP ERP : C,后主要为“ABAP/4”语言

Oracle Peoplesoft : C++ → Java

Oracle E-Business Suite : Java

11、商业智能(Business Intelligence)

Business Objects : C++

12、图形处理

Adobe Photoshop : C++

The GIMP : C

13、搜索引擎

Google : 汇编 与 C++,但主要为C++

14、著名网站

eBay : 2002年为C++,后主要迁至Java

facebook : C++ 和 PHP(同时采用 LAMP 架构)

这行仅关于 facebook 本身,而非其插件。插件可以用多种技术实现,得益于 facebook 的 ORB/application server、Thrift。Thrift 包含用 C++ 编写的编译器,facebook 人员写道:"多语言代码生成非常适合搜索,因为它允许在高效的服务器端语言(C++)中进行应用开发,并允许基于 PHP 的 web 应用调用搜索服务的 Thrift PHP 库。" 除了使用 C++,facebook 还采用 LAMP 架构。

阿里巴巴和淘宝: php → C++/Java(主要用)

15、游戏

汇编、C、C++

星际争霸、魔兽争霸、CS、帝国时代、跑跑卡丁车、传奇、魔兽世界… 数不胜数。

都是用 C++ 开发的,C++ 语言靠近系统底层,执行速度最快。例如你的两个朋友分别使用 VB、Java、以及 C++ 编写的“跑跑卡丁车”,你玩 C++ 版的游戏已经结束,而他们的游戏仍在加载,这说明 C++ 版的性能更佳。

16、编译器

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

17、3D引擎

Microsoft DirectX : C++

OpenGL : C

OGRE 3D : C++

18、Web Servers (Web 网页服务)

Apache : C和C++,但主要为C

Microsoft IIS : C++

Tomcat : Java

Jboss : Java

19、邮件服务

Microsoft Exchange Server : C → C++

Postfix : C

hMailServer : C++

Apache James : Java

20、CD/DVD刻录

Nero Burning ROM : C++

K3B : C++

21、媒体播放器

Nullsoft Winamp : C++

Microsoft Windows Media Player : C++

22、Peer to Peer (P2P软件)

eMule : C++

μtorrent : C++

Azureus : Java(图形界面使用基于C/C++的SWT)

23、全球定位系统(GPS)

TomTom : C++

Hertz NeverLost : C++

Garmin : C++

Motorola VIAMOTO : 2007年6月,停止服务,Java

24、3D引擎

Microsoft DirectX : C++(最高版本 DX11)

OpenGL : C

OGRE 3D : C++

25、服务器软件

Apache: C

Nginx: C

IIS: C

26、其它

OpenStack: Python

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

software developmentc++programming languagesc++Technology Stack
21CTO
Written by

21CTO

21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.