Texas A&M University
Modified March 30, 2015
Here is a list of systems, applications, and libraries that are completely or
mostly written in C++. Naturally, this is not intended to be a complete list.
In fact, I couldn't list a 1000th of all major C++ programs if I tried, and
this list holds maybe 1000th of the ones I have heard of. It is a list of
systems, applications, and libraries that a reader might have some familiarity
with, that might give a novice an idea what is being done with C++, or that
I simply thought "cool".
Here is a link to
don't make any guarantees about the accuracy of the list. I believe that
it's accurate -- I trust the people who sent me examples, but I have not
seen the source code myself. I have a preference of C++style code over
code that are called C++ eventhough it is mostly C and try to avoid list
C or "almost C" programs. Many of the detailed descriptions are the words
of the respective systems' developers and users, rather than mine.
The organization of this list is idiosyncratic. Where a set of applications
are clearly associated with a single organization, I list it
under the name
of that organization, but some systems doesn't fit that pattern.
No, I don't know what all the acronyms mean.
Yes, I do list something as C++ even if it relies on non-standard extensions.
Yes, I'd appreciate more examples -- especially major applications.
If you send one, a URL to a support site would be appreciated.
No, I will not list an application, system, or library unless I think the
listing will be of interest to a lot of people -- I'm emphatically not trying
to make a complete list.
No I will not list an application before it is in wide-spread use (sorry);
this list is meant to demonstrate major use and as such it would be weakened by
including new products.
I make no pretensions of "fairness", such as promising to list all competing
products in an area if I list one -- this is a list trying to give an overall
impression, not a list to help you select a product.
I rewrite descriptions as little as possible, but I do remove obvious
Please note that I don't review entries often. Some may not be completely up-to-date.
Feel free to send me updates.
Thanks to all who sent me examples.
Suggestions for additions and corrections are welcome.
Other people's lists:
Applications clearly associated with a single organization:
Computer Aided Design system for surveying, civil engineering, and more.
All major applications are developed in C++:
Photoshop & ImageReady,
Frame (mostly C, some C++)
Alias|Wavefront: Maya. Maya has been used in
the production of just about every major film
involving computer-generated effects since its
release, including Star Wars Episode I, Spider-Man,
Lord of the Rings, Stuart Little, etc. "I love 3d animation".
running the biggest non-military datacenter in Europe (in excess
of 5000 transactions per second, 200000 terminals connected, 24/7
operation) is doing most of its current developments in C++.
All Unix-based server applications are completely C++. Some of them:
Customer profile server
TCP/IP front end
Software for large-scale e-commerce.
OS X is written in a mix of language, but a few important parts
are C++. The two most interesting are
- IOKit device drivers. (IOKit is the only place where we use C++
in the kernel, though.)
the iPod user interface (uses Pixo application framework written in C++)
"Of the thousands of Macintosh applications that have shipped I estimate that
over half were written C++".
There are three major C++ application frame works developed for Macintosh:
(some MacApp applications),
Symantec's Think Class Libraries, and Metrowerks'
PowerPlant. There are also a number of smaller (in market share) frameworks
that have been developed.
Amdocs: It's main telecom billing module (Enabler) is completely in C++. They are world no.1 BSS vendor for telecom.
Arium: Sourcepoint; Hardware debugging and emulation for Intel
and ARM systems (incl. multi-processor systems).
mbed platform, as used in
BBC Micro Bits and elsewhere.
AT&T: The largest US telecommunications provider.
systems for rapid network recovery after failure
A large number of major number of application in the CAD domain.
a multiprocessor multimedia personal operating system.
BigFix is a communication system for delivering technical support
information to the people for whom it is relevant and timely. It
is used by companies such as Autodesk and eMachines to support both
software and hardware. All BigFix products are written in C++.
Providing real-time financial information to investors.
Portable set top box and digital TV software (incl. ISO MHEG-5).
OpenWBEM open source implementation of the WBEM standard
for system management software is written in C++ (www.openwbem.com).
This uses more new C++ 98 features than almost any source base
I've seen outside of those done by the standards community itself.
software for the analysis, correction and optimization of PDF files:
pdfInspektor, Acrobat Preflight and other plug-ins.
CERN: Data analysis - especially for large high-energy physics
experiments - using the ROOT
toolset and libraries.
Clang and LLVM
clang: a C language family frontend for
All of the LLVM tools and libraries are written in C++ with extensive use of the STL.
SuperDoc: A PalmOS document reader, notable for fast font
SecurityContext: A Win32 COM component to simplify the querying
of the OS security context of the current thread.
Map: A Win32 COM component that provides a thread-safe
map (as in std::map) of COM Variant data types e.g. for data cacheing
within IIS web applications.
Code Synthesis Tools:
an XML data binding generator for C++
with support for in-memory and stream-oriented processing models. XSD is
written in portable C++ and compiles with a wide range of C++ compilers.
XSD is used in telecommunications, finance, high-performance computing,
and integrated circuit design.
Static source code analysis tool for C and C++ written in C++.
Used for finding Linux bugs.
CoWare: system/chip specification in C++.
Credit Agricole Indosuez Cheuvreux:
exclusively for tracking orders on the European stock markets.
Dantz Development Corporation:
Retrospect backup software for Windows.
Components for geometric constraint solving, motion simulation,
collision detection, hidden line removal and profile management. Our
emphasis is on accuracy and speed. Used in the
vast majority of CAD applications (e.g. CATIA, SolidWorks, AutoCAD, NX,
D E Shaw:
Financial analysis and trading software.
Internet Management System (IMS), infrastructure
software fo services over IP-based networks.
Some of the C++-based elements of IMS are extendable AAA Server,
Service provisioning, Rating Engine, and Port Server.
Catia v5; leading CAD software, on which was conceived all recent Airbus planes (A380, ...).
Also, Boeing 787 software.
Entirely written in C++, using STL.
A document generation tool.
Dutch ministry of transport, public works, and water management: surge barrier control.
The BOS control system for the Maeslant Barrier protecting Rotterdam from flooding.
This safety-critical system (highest safety integrity level according
to IEC 61508) is built using C++, Z and PROMELA.
A high level overview with nice pictures can be found
Efficient Networks: (a wholly owned subsidiary of Siemens)
has sold more than 8 million licenses worldwide of its PPPoE client
software for Macintosh, Windows and Linux systems. Products often are
distributed under ISP brand names. New Macintosh development is wholly C++;
Windows development is a mix of C and C++. Products using C++ include
- EnterNet: PPPoE client drivers and settings applications
- Tango Qualifier: pre-purchase evaluation of user environment
- Tango Installer: a wizard-like installer program
- Tango Access: PPPoE client drivers and settings applications
- Tango Support: user-level network diagnostic tools
C++ is the language used in the hard real-time systems
controlling the radio in the mobile RBS (radio base station).'
TelORB - Distributed operating system with object oriented
distributed RAM database, The base for the TSP application
GSM-TDMA-CDMA mobility gateway
- Facebook: Several high-performance and high-reliability components.
A protocol for financial transactions with many implementstions,
Quickfast (open source) and
FIX/FAST for the Russian trading system.
an open source flight simulator, using
one of the flight dynamics math models used in FlightGear and
by other simulators.
Toolkit for the simulation of particles interaction with matter for use in High Energy
and Nuclear Physics experiments, Space, and Medical applications.
The Geant4 project is a world-wide collaboration of
about 100 scientists participating in more than 10 physics experiments
in Europe, Russia, Japan, Canada and USA. It involves the participation
of several national
and international institutes and organizations.
The software is entirely written in C++ and has been developed
exploiting Object-Oriented methodologies and tools. It consists of
roughly 500K lines of code and includes the implementation of a
rather wide set of state-of-the-art algorithms and theoretical models
for electro-magnetic and hadronic physics interactions.
GCC now uses C++ as its implementation language [2012-08-14]. The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,...).
web search engine, etc.
Major parts of the system (including most of the kernel) are written in C++.
It's the logical continuation of BeOS.
Havoc: Real-time physics for animation and games.
"Havok, like Guinness, is made in Ireland.
HP: Here is a tiny fraction of HP's C++ apps:
- C, C++, Fortran90 compilers, and linker for the new HP IA64 platform
(these add to more than 1 million lines of C++ code).
- SAM (HP's system management utility)
- Some of the networking libraries in HP-UX
- Java VM core
- Parts of Openview
- Non-stop XML parser (originally from compaq)
- K42: a high performance, open source, general-purpose operating system kernel for cache-coherent multiprocessors.
Image Systems: TrackEye and TEMA, the world
leading motion analysis programs (based on digital image processing).
Used by most car manufacturers to analyse the effects of crash tests. Also used by car and aircraft
manufacturers to analyse the performance of new models, "in short wherever high-speed sequences
Intuit: Quicken (personal financial software).
At ILOG, we provide libraries written in C++ used for:
Here are some customers I'm aware of:
Chrysler, EDF, CENA, Nortel, SAP, Alcatel, Renault, Manugistics,
Communaut urbaine de Lyon (Traffic regulation in the city of Lyon),
Parc Technologies Ltd, Barclays Global Investors (BGI), TLC (Transport,
Informatik- und Logistik-Consulting GmbH) subsidiary of Deutsche Bahn,
DoD's Joint Operational Support Airlift Center (JOSAC), Telefonica,
CISCO, NISSAN, POSCO, Sony Bank, isMobile, Southwest Airlines, Novient,
Vodafone TeleCommerce, Sabre Holdings Corporation, France Telecom,
Ericsson, Deutsche Telekom, Lucent Technologies, MCI WorldCom, Siemens,
First Union Home Equity Bank, Baan, HP, Adonix, Peugeot, ARINC, McHugh.
Visualization. This set of libraries is used to build applications
that needs portable GUI's and advanced graphical features.
Optimization. This set of libraries is used to build programs that
needs constraint programming or/and the simplex algorithm.
Rules. This set of libraries is used to build applications that
needs a rule engine to fire actions according to events that may happen.
KLA-Tencor: Semiconductor manufacturing systems.
Looksmart is predominantly written in C++.
All products related to searching and exploring the web are written in C++.
Used by well over 5,000,000 unique users per day.
Lockheed-Martin Aero: Mission critical software for the F-16 and
planes. And more.
MAN B&W Diesel A/S:
Purveyers of engines for large and very large ships (such as container ships and tankers).
Electronic controlled fuel injection and exhaust valve
control system for very large (up to more than 100.000 break horse power)
two stroke diesel engines. Hard real-time system running on medium size
embedded system. Absolutely critical 24/7 operation with distributed,
redundant error recovery.
Written entirely in high performance, high level C++, except for a few
hundred lines of assembler code.
Several large support systems for engines and crew running on desktop
machines, written entirely in C++.
Several internal business critical applications, for engine design
calculations and design information storage."
Medimage: all products: These products range from medical
image display systems to custom communications software which move images
from one machine to another via modems and TCP/IP. We build our products for
both Mac OS and Windows computers.
Mentor Graphics: Since the 1980s
Mentor Graphics has built most of its applications using C++, including:
- Calibre: software for IC physical verification,
manufacturing, and resolution enhancement.
- Formal Pro: formal verification equivalency checker which
enables multi-million gate ASIC and SoC verification.
- FastScan: automatic test pattern generation tool for ASICs and ICs.
- FlexTest: test pattern generation for optimizing test coverage.
- TestKompress: tool suite which reduces ATE memory and
time requirements for testing by up to 10 times.
- MachTA/PA: fast, accurate, high capacity, transistor-level circuit
simulation for timing and power analysis of DSM and
mixed-signal IC designs.
is a leading provider of software development tools.
The CodeWarrior Integrated Development Environment (IDE), RAD plugins and
PowerPlant, our object oriented class library, are all written in C++.
Their website has a description of some cool applications, such as 3-D animation,
real-time Web conferencing, and satellite control technology.
Literally everything at Microsoft is built using recent flavors of
Visual C++ (using older versions would automatically cause an application to fail the security review).
The list would include major products like:
There are also "minor" products like:
- Windows XP, Vista, System 7
- Windows NT (NT4 and 2000)
- Windows 9x (95, 98, Me)
- Microsoft Office (Word, Excel, Access, PowerPoint, Outlook)
- Internet Explorer (including Outlook Express)
- Visual Studio (Visual C++, Visual Basic, Visual FoxPro)
(Some parts of Visual Studio like the Base Class Libraries that ship
with the .NET Framework were written using C# but the C# compiler itself
is written in C++.)
- Picture It
- Z3: a high-performance theorem prover. Open Source from Microsoft Research.
- and all the games.
mIRC: Chat. "is being used by over a million people"
An open-source database,
as the back end store for web applications, as well
as in large enterprises like Viacom and Disney.
Morgan Stanley: a large chunk of their financial modelling.
Firefox browser and Thunderbird mail client (open source).
MySQL Server (about 250,000 lines of C++)
and MySQL Cluster. Arguably the world's most popular open source database.
NASA: Lots of projects, including
JPL (Jet Propulsion Lab, NASA):
Mars rover autonomous driving system (incl. scene analysis and route planning). C++ on Mars!
Also lots of supporting software "on the ground" (i.e. Earth).
James Webb Telescope
James Webb is the successor to the Hubble Space Telescope.
(many) parts of the software for the international space station.
The National Census Bureau of Israel is written mostly in C++, with some
components of embedded SQL. It
serves millions of transactions per month, starting with birth and death
registration, naturalization, passport issuance, visas and so on for 8
million civilians and foreign workers.
Timbuktu Pro -- Remote control, file exchange, and collaborative
tools for Macintosh and Windows.
Timbuktu Pro is up to about 10,000,000 installed nodes and is in
70% of Fortune 500 companies. The Mac version has won numerous awards over
the years and the Windows version just won
the 2002 World Class Award From PC World.
netOctopus -- Network-based system management for Macintosh and Windows.
"4000 sites ... maybe 150 agents (managed systems) are installed at each site, which would make about 600,000 systems.".
eSite -- Web site server platform used by several Yellow Pages
companies to provide web sites to advertisers.
eCare -- Web-based customer support.
The Macintosh and Windows clients are in C++.
Mobile Communications radio-station/internet bridges:
FlexiGGSN (Gateway GPRS Support Node) and FlexiSGSN (Server GPRS Support Node).
Graphics, GUI software for a wide variety of devices.
Most of the software for the
(and other "smart phones").
All Nullsoft products are C++ (Winamp, NSI, etc.) and many are open source.
OMG's Data Distribution Service for
Real-time Systems (DDS).
Parametric Technology: CADDS5i is partly in C++.
QAC++: Analysis product for C++.
Reason is a virtual studio rack with all the tools and instruments you need to turn your ideas into music.
Radiometer Medical A/S:
Advanced medical instruments and applications handling patient-critical
information on daily basis in over a thousand hospitals worldwide.
- Bloog-gas analyzers: Medical blood analysis instruments running a
database-based application. Appart from the GUI, this application is
entirely written in C++
Blood-gas instruments management system: Distributed data management
application written entirely in C++ (using the
ACE framework in
providing monitoring and reporting facilites.
Rain Bird Corporation: Maxicom2 irrigation control system.
A Maxicom2 controls the irrigation for a large commercial site or distributed
sites from a single central control PC.
Communication with remote distributed controllers is via dialup
telephone, cellular, radio, fiber optics, etc.
Users include: Major amusement/theme parks, international airports,
several colleges, county parks, and corporate headquarters.
Co-op, A peer-to-peer version control system.
Financial analysis and trading software.
an "Enterprise Open Source Database" is written in a mix of Pascal, C and C++.
But newer parts and rewrites of older parts are implemented in C++:
"Release 7.4: 1088 C++ of 3392 source files".
Scansoft: Dragon Naturally Speaking.
An award winning
continuous speech dictation system. Originally developed by "Dragon Systems".
a 3D graphics framework and tool kit built on top of OpenGL.
Open Inventor serves as the basis for the VRML (Virtual Reality Modeling
Siemens: Major medical systems (often using
for convenience and portability).
Cross-asset, front-to-back portfolio and risk management solutions: "sed world-wide by leading financial institutions".
Their website, flight reservations, flight status, frequent flyer program, etc.
Optimising Web Delivery.
The HotSpot Java Virtual Machine is written in C++ (this is the
leading edge, high performance replacement for Sun's "classic JVM"
which was written in C).
Sun's compilers have major components written in C++, in particular the
C++ front end, parts of the Fortran 95 front end, and the SPARC back
Parts of Solaris are written in C++, though the external interface is
usually crafted to look like C, for compatibility and stability
"The Open Source Office Suite":
"[...] the whole technology is based on a platform-independent approach. Less
than 10% of the code is platform dependent. This acts as an abstraction
layer for the upper software components. Because of the availability of
C++-Compilers on every major platform, C++ is used as an implementation
language. This allows to port
the OpenOffice.org technology
to a wide range of different platforms."
"[...] It is a complex application consisting mainly of C++ code employing
templates and exception handling and supporting independent language binding
for a distributed component based architecture."
"[...] using C++ for all system code, from the
kernel upwards." This is one of the most widespread OS's for cellular
Eikon is a leading desktop product for finance professionals, mainly developed in C++ (some parts in C#). It is actually around 4M loc.
UIQ, an open software user interface
platform for mobile phones, used by the world's leading mobile phone manufacturers.
It is for phones running the Symbian OS.
UIQ 3 is used in the Sony Ericsson M600, P990 and W950.
University of Karlsruhe: L4Ka: pistachio, a microkernel
implemented in pure C++.
Set top box and digital TV software.
Vodaphone: Mobile phone infrastructure, incl. provisioning and billing.
wxWidgets (formerly wxWindows):
Cross platform widget set / toolkit (open source).
WAM!NET: "Transmission Manager" ISDN and
TCP/IP-based data transfer software, formerly known as 4-Sight ISDN
Manager - integrates ISDN support with
the software to connect to WAM!NET's managed WAN.
ZeroC: Provides ICE, a distributed object-oriented
computing infrastructure with a modern C++ mapping. ICE is written in
portable C++ and compiles with a wide range of C++ compilers.
ICE is used for games and massive training simulations.
Application areas and applications not clearly associated with a single organization:
The CDE desktop (the standard desktop on many UNIX systems) is
written in C++.
CGAL Open Source Project, the Computational Geometry
Algorithm Library, provides state of the art geometric data
structures and algorithms. The major design goals are high performance,
robustness and flexibility. To achieve the latter the designers of CGAL opted for the generic
programming paradigm, and gave CGAL the look and feel of the STL.
It is also commercially available as supported product from the
CORBA ORBs: MICO, omniORB, Orbix, TAO.
A list of games likely to be more up-to-date than my list (here).
Doom III engine.
Sierra On-line: Birthright,
Bullrider I & II,
Hoyle Card games suite,
and too many others to list...
StarCraft: Brood War,
Diablo II: Lord of Destruction,
World of Warcraft.
Shanghai Second Dynasty,
Shanghai Mah Jongg Essentials,
PBS's Heritage: Civilization and the Jews,
Master of Orion III,
Microsoft: all games.
EA: video game engine.
Byond: a "world" development platform.
at University of Illinois at Chicago and Central Missouri State University)
is a learning environment that lets students experience the
Harlem Renaissance of the 1920s and 1930s as a cultural field trip.
Virtual Harlem is built on top of on top of a high-level VR scripting
written in C++ using other C++ Libraries and freameworks:
CAVElib VR library.
is a graphical interface tool that provides interaction with
a CAVE application.
an Open Source C++ ready2ware toolkit for building collaborative networked applications.
COANIM (or the Collaborative Animator)
is the application for viewing 3D content over AGAVE.
The overall concept behind AGAVE is to append a low-cost PC-based graphics
workstation to an Access Grid node that can be used to project
3D stereoscopic computer graphics to allow collaborators to share 3D content.
is a high-level 3D graphics librarwith a C++ Application Programming
Interface. Coin uses scenegraph data structureto render real-time
graphics suitable for mostly all kinds of scientific anengineering
Access grid augmented virtual environment.
KDE from linux is written in C++.
K Desktop Environment, is a powerful Open Source graphical desktop
environment for Unix workstations. It is one of the leading desktop
environments for Linux.
It consists of about 300 different packages written in C++, including
an office suite, a browser, development tools, games, and multimedia apps.
a major ballistic missile defense system being done using C++.
telephone systems: I think it would be almost easier
to list the systems which aren't written in C++, at least here in
Put differently, anyone using a telephone in Germany depends on code
written in C++ -- that's a lot of users:-).
What counts as a user? The main telephone transmission nodes in
Germany (and I'm pretty sure France as well) are written in C++. And
I can't imagine anyone in the country who doesn't use a telephone --
does that count as 80 million (140 million with France) users of C++?
C++ is the only development language used for Alcatel transmission
systems, both for network management (using ILog Views) and the
actual transmission equipment. FWIW, the major transmission nodes
(Frankfurt, Berlin, Munich, and another somewhere in northern
Germany -- Cologne or Hamburg, I think) in Germany are all 100%
C++. All telephone calls between different regions in Germany
pass through one of these machines.
T-Mobile (the largest German cellular operator) uses C++ for both
its billing system and for most of its WAP portal -- dynamic
allocation of IP addresses, etc.
Huge collaborative project to analyse data to find signs for extraterrestrial
life. Partly written in C++.
Web development support library Poco.
list of poco users.
Texas A&M University