Sumber : http://www.lextrait.com/Vincent/implementations.html
Per Maret 2016
Family/Product | Date | ASM | C | C++ | Java | C# | Others | Notes | |
Operating Systems
|
|||||||||
Microsoft Windows
|
![]() |
![]() ![]() |
![]() |
Some attempts were made to put some C# in Windows Mobile (e.g. the soft keyboard). The result was judged too slow to be incorporated in the final product and was reverted to C++. The windows kernel is written in C (and compiled as C). The amount of assembler is limited to a few thousand lines. |
|||||
![]() |
|||||||||
![]() |
![]() |
Objective-C | The first version of user interface of the MacOS was inspired by the Xerox Alto user interface which introduced the WIMP concept. The user interface was implemented in SmallTalk, and to run it, the hardware was far too expensive for mass market. Early versions of MacOS used Assembler and Pascal. | ||||||
Sun Solaris
|
![]() |
||||||||
HP-UX |
![]() |
||||||||
Google Chrome OS |
2009
|
![]() |
![]() |
Google Chrome is based on Linux and Chrome. | |||||
OSv |
2013
|
![]() |
|||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Operating Systems for Mobiles
|
|||||||||
2007 |
![]() |
![]() |
Objective-C | The iPhone, iPod Touch and iPad use a modified version of Mac OS. | |||||
2008
|
![]() |
![]() |
![]() |
Android is based on Linux, which is coded in C. The user interface is Java. Apps (not covered here) are mostly Java. | |||||
![]() |
RIM makes it mandatory for application developers to use Java as a programming language on BlackBerry. People tend to confuse this with the technology used to develop the operating system. The BlackBerry OS itself is developed using C++. | ||||||||
2007
|
![]() |
The Kindle runs Linux. | |||||||
![]() |
|
Symbian was still the leading operating system for phones in 2010. Its market share dropped to 4.4% in Q2 2012. It has been declared dead on January 24, 2013. | |||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Graphical Layers
|
|||||||||
Microsoft Windows UI |
![]() |
||||||||
Apple MacOS UI (Aqua) |
![]() |
||||||||
Gnome |
![]() |
![]() |
|||||||
KDE |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Desktop Search
|
|||||||||
Google Desktop Search |
![]() |
||||||||
Microsoft Windows Desktop Search |
![]() |
||||||||
Beagle |
|
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Office Products
|
|||||||||
![]() ![]() |
![]() ![]() |
![]() |
Traditionally, MS Office was developed using assembler, then development moved to C, later, when C++ arose, everything new was done using C++. Currently there is no plan to change. A small attempt was made to develop a miscellaneous single panel in C#, a few years back. It is not known if it has been kept. | ||||||
![]() |
![]() |
Apache Open Office, acquired in 1999 by Sun Microsystems from Star Division. No attempt has been made by Sun to convert the code into Java. Java is however used for some miscellaneous modules. | |||||||
![]() |
![]() |
Python | This is a fork of OpenOffice. The code is still mainly C++. Some Python added. | ||||||
![]() |
(August 1997) |
Corel Office, initially developed in Assembler and C, moved to Corel Office for Java, fully developed in Java for portability in 1996, and abandoned in August 1997 because it was too slow. The code was later redeveloped using C and C++. | |||||||
Adobe Systems Acrobat Reader/Distiller |
![]() |
||||||||
Evernote |
![]() |
(October 2010) |
Evernote v3.5 was coded in C#. The technology had to be changed to gain speed. The current programming language from v4.0 is C++. | ||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
RDBMS
|
|||||||||
![]() |
![]() |
![]() |
![]() |
Only Assembler, C and C++ in the core. | |||||
![]() |
![]() |
||||||||
![]() |
![]() |
Perl | MariaDB is a fork of MySQL. More than half of the code is C++. The remainder is made of C and Perl. | ||||||
![]() |
![]() |
![]() |
|||||||
![]() ![]() |
![]() ![]() |
![]() |
|||||||
![]() |
![]() |
![]() |
|||||||
SAP DB/MaxDB |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
NoSQL databases, Big data
|
|||||||||
![]() |
|||||||||
![]() |
![]() |
Python, Go, Ruby | At Google, all infrastructure is done using C++, and C++ alone. Peripheral functions can be developed using other languages. | ||||||
![]() |
Hadoop is inspired from Google File System. | ||||||||
![]() |
|||||||||
2015
|
![]() |
ScyllaDB is a C++ rewrite of the Java-based Apache Cassandra. It claims a 10-fold improvement in performance over Cassandra. This would be at least in part due to the usage of a C++ framework: Seastar. | |||||||
2009
|
![]() |
||||||||
Erlang | |||||||||
2015
|
![]() |
Couchbase source base, initially CouchDB, was first Erlang-based, like CouchDB. Then some Go was added. In 2012, 2+ man months chasing a very low level race bug in Erlang’s virtual machine, Erlang was not considered trustable, and C was gradually introduced. In 2013, Damien Katz wrote about his discovery of C’s merits. In spite of Katz’ criticism of C++, after his departure from Couchbase, the code was actively converted to C++. | |||||||
2011
|
![]() |
Done by Google. | |||||||
2016
|
![]() |
Fork of LevelDB done by Facebook. | |||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Web Browsers
|
|||||||||
Microsoft Edge (ex. Internet Explorer)
|
2014
|
![]() |
|||||||
![]() |
|||||||||
![]() ![]() |
see Mozilla
|
![]() ![]() |
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++. | ||||||
7-Jan-03
|
![]() |
Browser for Apple Mac OS, its foundation is WebKit, a C++ framework. | |||||||
2-Sept-08
|
![]() |
Chrome has been introduced as the combination of 26 different libraries. The base code comes from WebKit (C++) which powers Safari as well. One of its key propositions is the ultra fast V8 JavaScript engine, written essentially in C++. | |||||||
|
HotJava never took off, it was far too slow compared to other browsers. It became a showcase for the Java applet technology and the product is now frozen since 1999. | ||||||||
![]() |
|||||||||
![]() |
![]() |
Pike | Opera Mini (2007) has a very funny architecture, and is indeed using C++, Java and Pike. 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. A significant part of the server uses Pike. This original architecture 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 was the first widely spread browser, it morphed into Netscape. | ||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Mail Clients
|
|||||||||
![]() |
|||||||||
![]() |
|||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Development Environments
|
|||||||||
Microsoft Visual Studio |
![]() |
![]() |
Visual Studio 2010 was still mostly native code, but for the UI presentation it adopted the managed WPF framework. This holds true for later versions. plug-ins are also using more and more C#. | ||||||
Eclipse |
![]() (see notes) |
To build Eclipse, a specific graphical toolkit was developed, SWT to replace Java classical AWT or Swing (considered too slow). SWT is a thin Java layer on top of native C/C++ code. SWT is now part of Eclipse RCP. | |||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Virtual Machines
|
|||||||||
Microsoft .Net CLR |
![]() |
||||||||
Java Virtual Machine (JVM) |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
ERP
|
|||||||||
SAP ERP |
![]() |
![]() |
![]() ABAP |
SAP ERP is programmed in ABAP, which generates C code. The SAP kernel is itself coded using C and C++. | |||||
Oracle Peoplesoft |
![]() ![]() |
![]() |
Peoplesoft relied on BEA Tuxedo and C++ code, now moving to Oracle WebLogic and Java, keeping the PeopleCode language. The C++ code is apparently not reengineered. | ||||||
Oracle E-Business Suite |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Business Intelligence
|
|||||||||
Business Objects |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Graphics Editors
|
|||||||||
Adobe Photoshop |
![]() |
||||||||
The GIMP |
![]() |
Some Perl | |||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Search Engines
|
|||||||||
![]() |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Web Sites
|
|||||||||
eBay |
(2002)
![]() |
![]() |
Information on eBay architecture and the move from C++ to Java can be found here. | ||||||
PayPal |
![]() |
||||||||
Amazon |
![]() |
![]() |
Amazon initially using C++ extensively is now using an increasing amount of Java. | ||||||
26-Sep-2006
|
![]() |
![]() PHP |
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. In 2009 and 2010, facebook developers have made a shift towards C++ with HipHop, a PHP to C++ translator which allows to reduce by 50% the hardware needed to operate the site. |
||||||
YouTube | Python, proprietary JavaScript | In case of doubt, just have a look here. YouTube is i/o bound, so the technology business logic is made of is probably a bit irrelevant. | |||||||
![]() |
|||||||||
DropBox | Python, Go | For details, have a look here. | |||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Games |
![]() |
![]() |
![]() |
A lot of games on smart phones are developed using Java. This entry refers to “full service” disk based games. | |||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Compilers/Interpreters
|
|||||||||
Microsoft Visual C++ |
![]() |
||||||||
Microsoft Visual Basic |
![]() |
||||||||
Microsoft Visual C# |
![]() |
It is worth noting that Microsoft is running a project called Roslyn which contains a C# compiler written in C#. | |||||||
gcc (GNU Compiler Collection) |
![]() |
||||||||
Clang/LLVM compiler suite |
![]() |
||||||||
javac (Sun Java compiler) |
![]() |
||||||||
Perl |
![]() |
||||||||
PHP |
![]() |
It must be noted that PHP is a script running a lot of imported libraries, themselves either programmed in C or C++. | |||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
3D Engines
|
|||||||||
Microsoft DirectX |
![]() |
||||||||
OpenGL |
![]() |
||||||||
OGRE 3D |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Web Servers
|
|||||||||
Apache |
![]() |
![]() |
|||||||
Microsoft IIS |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Mail Servers
|
|||||||||
Microsoft Exchange Server |
![]() ![]() |
![]() |
|||||||
Postfix |
![]() |
||||||||
hMailServer |
![]() |
![]() |
|||||||
Apache James |
![]() |
Apaches James has not evolved as a stable release since 2009. | |||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Web 2.0
|
|||||||||
MediaWiki | PHP | Powers Wikipedia | |||||||
TWiki | Perl | ||||||||
Google Blogger | Python | The software has been re-engineered several times, for instance in 2002 and 2006. | |||||||
Google Wave | 2009 |
|
Google Wave user interface used Google Web Toolkit. which allowed to program the UI using Java and generate JavaScript code. The server used Java too. | ||||||
Flickr | PHP | ||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Digital audio editors
|
|||||||||
![]() |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
CD/DVD Authoring
|
|||||||||
Nero Burning ROM |
![]() |
||||||||
K3B |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Multimedia Players
|
|||||||||
![]() |
![]() |
Objective-C, Lua | |||||||
Nullsoft Winamp |
![]() |
||||||||
Microsoft Windows Media Player |
![]() |
||||||||
Apple iPod software |
![]() |
||||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Peer to Peer
|
|||||||||
eMule |
![]() |
||||||||
µtorrent |
![]() |
||||||||
Vuze (previously Azureus) |
![]() |
Vuze is built on top of SWT, see notes corresponding to Eclipse. | |||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
GPS Systems
|
|||||||||
TomTom |
![]() |
||||||||
Hertz NeverLost |
![]() |
||||||||
Garmin |
![]() |
||||||||
Motorola VIAMOTO |
2003
|
|
Motorola VIAMOTO was a smart phone “connected” GPS implementation, with a Java client-side. It was re-branded by a number of car rental companies. For instance, Avis Assist was another name for the Motorola VIAMOTO product. Avis have withdrawn this product and are now offering Garmin in the USA and TomTom in Europe. Motorola withdrew the product in June 2007. Alamo/National who had re-branded the system “Navigation Station” will also discontinue the service. | ||||||
Family/Product
|
Date
|
ASM
|
C
|
C++
|
Java
|
C#
|
Others
|
Notes
|
|
Logitech Harmony 1000/1100 | 2009 |
|
The UI of the Harmony 1100 is now Flash based vs the Java UI found in the Harmony 1000. |