Author: Potato Scholar
Source: One Mouth Linux
1. Operating Systems
Microsoft Windows : Assembly -> C -> C++
Note: In the early development of the smartphone operating system (Windows Mobile), there was consideration to use some programs written in C#, such as the soft keyboard, but the programs were too slow to integrate with other modules, and ultimately it was rewritten back in C++.Many people know about Windows Vista. Initially, Bill Gates wanted to write the entire system in C#, but ultimately abandoned it due to slow execution, resulting in countless software engineers’ hard work being declared useless overnight.Linux : C
Apple MacOS : Mainly C, with some C++.Note: The languages used were quite mixed in the past, initially Assembly and Pascal.
Sun Solaris: CHP-UX : CSymbian OS : Assembly, mainly C++ (Nokia phones)Google Android: Launched in 2008: C language (there are rumors that it is developed using Java, but recently a native C language SDK was released)RIM BlackBerry OS 4.x : BlackBerry C++
👉 Click to receive Go backend development materials collection
2. Graphical User Interface Layer
Microsoft Windows UI : C++Apple MacOS UI (Aqua) : C++Gnome (one of the Linux graphical interfaces, Bigfoot): C and C++, but mainly CKDE (Linux graphical interface): C++
3. Desktop Search Tools
Google Desktop Search : C++
Microsoft Windows Desktop Search : C++Beagle (under Linux/Windows/UNIX) : C# (based on open-source .net: Mono)
4. Office Software
Microsoft Office : From Assembly -> C -> stabilized in C++
Sun Open Office : Partially JAVA (for external interfaces), mainly C++ (open-source, source code available for download)Corel Office/WordPerfect Office: Tried Java in 1996, abandoned the next year, returned to C/C++Adobe Systems Acrobat Reader/Distiller : C++
5. Relational Databases
Oracle : Assembly, C, C++, Java. Mainly C++
MySQL: C++
IBM DB2: Assembly, C, C++, but mainly C
Microsoft SQL Server: Assembly -> C -> C++IBM Informix: Assembly, C, C++, but mainly CSAP 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 : (Released in January 2003) C++Google Chrome : (Released in 2008) C++
Sun HotJava : Java (died in 1999)Opera : C++ (has a large market share on mobile devices)Opera Mini : Opera Mini (2007) has a very funny architecture, and is indeed using both C++ and Java. The browser is split into two parts, an ultra-thin (less than 100Kb) “viewer” client part and a server side responsible for rendering. The first uses Java and receives the page under the OBML format, the latter reuses the 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: The ancestor (dead) C language
7. Email Clients
Microsoft Outlook : C++
IBM Lotus Notes : Java
Foxmail: Delphi
8. Software Development Integrated Environment/IDE
Microsoft Visual Studio: C++
Eclipse: Java (its graphical interface SWT is based on C/C++)
Code::Blocks : C++
Easy Language: C++
Volcano Chinese: C++Volcano Mobile: C++
9. Virtual Machines
Microsoft .Net CLR (the virtual machine of .NET): C++
Java Virtual Machine (JVM) : Java Virtual Machine: C++
10. ERP Software (Enterprise Applications)
SAP mySAP ERP : C, later mainly in “ABAP/4” languageOracle Peoplesoft : C++ -> Java
Oracle E-Business Suite : Java
11. Business Intelligence
Business Objects: C++
12. Graphics Processing
Adobe Photoshop: C++
The GIMP : C
13. Search Engines
Google : Assembly and C++, but mainly C++
14. Famous Websites
eBay: In 2002, it was C++, later mainly migrated to JavaFacebook : C++ and 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 from the use of C++, Facebook has adopted a LAMP architecture.
Alibaba and Taobao: php -> C++/Java (mainly used)
15. Games
Assembly, C, C++StarCraft, Warcraft, CS, Age of Empires, KartRider, Legend, World of Warcraft…. Countless, count for yourself
All developed in C++. C++ is close to the system’s bottom layer, and execution speed is the fastest. For example, if your two friends play “KartRider” written in VB, Java, and C++, you will find that your C++ game has already finished while your two friends haven’t even started, and that is quite laggy.
16. Compilers
Microsoft Visual C++ Compiler: C++Microsoft Visual Basic Interpreter, Compiler: C++Microsoft Visual C# : Compiler: C++gcc (GNU C compiler) : Cjavac (Sun Java compiler): JavaPerl : C++PHP : C
17. 3D Engines
Microsoft DirectX: C++
OpenGL: C
OGRE 3D : C++
18. Web Servers
Apache : C and C++, but mainly C
Microsoft IIS : C++Tomcat: Java
Jboss : Java
19. Email Services
Microsoft Exchange Server: C -> C++Postfix: ChMailServer : C++Apache James: Java
20. CD/DVD Burning
Nero Burning ROM : C++
K3B: C++
21. Media Players
Nullsoft Winamp : C++
Microsoft Windows Media Player : C++
22. Peer to Peer (P2P Software)
eMule: C++μTorrent : C++Azureus : Java (the graphical interface uses SWT based on C/C++, similar to Eclipse)
23. Global Positioning Systems (GPS)
TomTom : C++
Hertz NeverLost: C++Garmin : C++Motorola VIAMOTO : Stopped service in June 2007, Java
24. 3D Engines
Microsoft DirectX: C++ (believed to be known by gamers, the highest version is DX11)OpenGL : COGRE 3D : C++
25. Server Software
Apache: CNginx: C
IIS: C
26. Others
OpenStack: Python
Popular Recommendations
- Wrote a script to automatically send messages to my wife when working overtime…
- Fast hands! 10 latest red envelope covers, first come first served!
- Uninstall Navicat, Alibaba has open-sourced a database tool, it’s amazing