C++的应用(C++ Applications) - 转
from :http://chipset04180.blog.163.com/blog/这里有一个有关系统、应用程序和库的列表,列表中的全部或者大部分代码用C++编写,当然,该列表并不全面。即使我如何努力,我也不能列举一个含有1000个主要由C++编写的程序列表,但是这里的列表可能包含我听说过程序之中的第1000个。这是一个包括系统、应用程序和库的列表,读者可能熟悉其中的一些,新手可能有个概念C++能做什么,或者我仅仅觉得它很“酷”。 [这里有一个本文翻译的中文连接http://www.programfan.com/club/post-289979.html]
我(Bjarne Stroustrup)不能保证该列表的完全准确,但是我相信它是准确的,我信任那些发给我例子的人,不过我个人并没有见到源代码。我宁愿C++风格的代码,而不是大部分代码用C编写却尽力避免列出C或者C程序而称谓C++。列表中很多细节的描述来自开发人员和用户而不是我。
该列表的组织形式实在有点说不过去。我把那些明显和一个公司有关的应用程序列在该公司名下,但是有一些系统没有用这样的组织方式。
我并不知道列表中所有的缩写都什么意思。我也的确列出了一些C++的应用,即使他们依赖于C++的扩展,我欣赏更多的例子--尤其主要的应用。如果你发给我一个有URL地址的例子会更好一点。我并没有列出某些应用、系统或者库,除非我认为他们会让很多人感兴趣--我并不想尝试给出一个很完整的列表。我不会列出一种尚没有得到广泛应用的软件(抱歉)。这个列表意味着主要的应用,但在包含新产品方面则不太全面。我并不想表示“公平”,比如给出某个应用而不是某特定领域的所有产品--该列表试图给出一个整体印象,而不是帮助你选择某个产品。我尽量少重新描述某个产品,但会删除那些明显的广告性用语。
谢谢所有发给我例子的人!欢迎给出更多的例子,欢迎纠正错误。
其他人的列表: [*]谁在使用Boost? [*]ACE和TAO用户[*]不断更新中的主要工业应用和工具。
明显跟一个组织相关的应用:
[*]12D 解决方案:计算机辅助系统,用于测量、民用工程等等。
[*]Adobe系统:所有主要的应用用C++开发
[*]Photoshop和ImageReady, [*]Illustrator, [*]Acrobat, [*]InDesign, [*]GoLive, [*]Frame (大部分C, 部分C++) [*]Alias|Wavefront: Maya. Maya 自从开发出来以后一直用于制作电影特效, 包括星球大战前传I,蜘蛛侠,指环王,精灵鼠小弟等。“我爱三维动画”。
[*]Amadeus: 正在运行中最大的欧洲非军用数据中心 (每秒超过5000个交易,连接20万个终端,24/7负载)大多数开发用C++语言。所有基于Unix服务器的应用全部用C++开发,例如: [*]汽车预订
[*]客户端服务
[*]电子订票
[*]TCP/IP 前端
[*]Amazon.com:大型电子商务应用软件。
[*]Apple:OS X 操作系统使用很多语言开发,但是几个重要的部分用C++开发的。两个比较诱人的部分分别是,
[*]搜索器(Finder)[*]IOKit设备驱动 (IOKit 是内核里面仅有使用C++的地方)还有,
[*]AppleWorks [*]iPod用户接口(Pixo应用框架用C++写的)[*]成千上万的Macintosh应用程序估计半数以上用C++开发的。
[*]Frameworks: 有3个广泛使用的Macintosh应用框架工程用C++开发,分别是Apple's MacApp, Symantec's Think Class Libraries和 Metrowerks' PowerPlant。
[*]Arium:资源点,Intel和ARM系统硬件调试和仿真(包括多处理器系统)。
[*]AT&T:美国最大的电信供应商
[*]1-800 服务
[*]配置系统
[*]网络失败应急系统
[*]Autodesk:在CAD领域有很多市场 。
[*]BeOS:一种多处理器多媒体个人操作系统。
[*]BigFix, Inc.: BigFix 是一个用来发布技术支持信息的通信系统。很多公司用它做技术支持支持硬件和软件,例如Autodesk和eMachines. 所有的BigFix 产品都用C++开发。
[*]Bloomberg:为投资者提供实时的金融信息。
[*]Cabot Communications: 便携式游戏机和数字电视软件 (包括ISO MHEG-5). [*]Caldera:系统管理软件的OpenWBEM的WBEM标准开源实现 (www.openwbem.com)。用了较多的C++98标准机制。
[*]callas Software:PDF文件的分析纠错和优化软件,有pdfInspektor, Acrobat Preflight以及其他插件。
[*]CERN:数据分析-尤其用于大规模高能物理实验-使用了ROOT工具集和库。
[*]Codemill:SuperDoc: 一种掌上操作系统文件阅读器,能显著的平滑字体。
[*]SecurityContext: 一种 Win32 COM组件,用来简化当前线程的上下文安全查询。
[*]Map: 一种Win32 COM 组件用于COM变量数据类型线程映射,例如:用于IIS网络应用数据缓存
[*]Code Synthesis Tools: 提供XSD, 一种XML 数据捆绑产生器。XSD 用可移植性好的C++编写,用了很多的C++编译器编译。XSD广泛用于电信、金融、高性能计算以及电路设计。
[*]Coverity:C/C++静态源代码分析工具,用于查找Linux的bug。
[*]CoWare:系统/芯片标准
[*]Credit Agricole Indosuez Cheuvreux:欧洲证券交易市场指令跟踪软件,全部用C++编写。
[*]Dantz Development Corporation: Retrospect用于备份Windows的软件. [*]D-Cubed:用于几何约束解决、动作模拟、碰撞检测、隐藏线消除和形态管理的组件,重点是精确性和速度,在CAD领域获得了广泛应用 (例如 CATIA, SolidWorks, AutoCAD, NX, SolidEdge)。
[*]D E Shaw:金融分析和贸易软件。
[*]Digiquant:Internet网络管理系统(IMS), IP网络基础设施软件服务. 一些AAA服务器拓展, 服务准备, 引擎标定, 和端口服务服务用C++编写. [*]Dassault Systems:Catia v5,很领先的CAD软件, 所有近来的空中客车 (A380, ...),还有波音787的软件全部用C++编写,使用了 STL。
[*]荷兰交通部, 公用工程, 水资源管理:浪涌屏障控制。BOS控制系统的保护屏障Maeslant使得Rotterdam免受洪灾。该项极高极高级安全系统(按照IEC 61508,最高的安全级别)使用C++, Z和PROMELA 编写。这里有一些漂亮的图片。
[*]Efficient Networks:(Siemens的子公司)出售量超过800万套,它的PPPoE 用户端软件用于Macintosh, Windows and Linux系统。新的Macintosh 上开发全部用C++,Windows上开发用的C/C++。下面这些产品用C++开发:
[*]EnterNet: PPPoE 用户端驱动和应用设置
[*]Tango Qualifier:用户环境预攫取预测
[*]Tango Installer:向导型安装器
[*]Tango Access: PPPoE用户端驱动和应用设置
[*]Tango Support:用户层网络诊断工具
[*]Ericsson: [*]TelORB–面向对象的分布式操作系统
[*]分布式RAM数据库, TSP应用的基础
[*]服务器平台
[*]TDMA-CDMA HLR [*]GSM-TDMA-CDMA移动网关
[*]AAA服务器
[*]FlightGear:开源飞行模拟器使用了JSBSim[*]Geant4:粒子干涉模拟,用于高能物理、核物理试验,太空和医疗应用的工具箱。Geant4 工程世界范围内100多位科学家合作,进行10余次试验,分别在欧洲、俄罗斯、日本、加拿大和美国。用C++编写,源代码超过500K行。
[*]Google: 网络搜索引擎等
[*]Chromium 浏览器
[*]Google文件系统
[*]MapReduce 大聚簇数据处理
[*]Havoc:实时的物理用特效以及游戏
[*]HP:下面是很小一部分C++应用
[*]C, C++, Fortran90 HP IA64 平台编译器和连接器 (加了1百万行C++源代码). [*]SAM (HP的系统管理应用) [*]一些HP-UX的网络库
[*]Java虚拟机内核
[*]Openview的一部分
[*]Non-stop XML语法分析器 (来自最初的compaq) [*]IBM: [*]OS/400. [*]K42: 一种高性能开源的多处理器操作系统内核
[*]Image Systems: TrackEye 和TEMA, 世界上顶尖动作分析软件 (基于数字图像处理)。多数汽车厂商用它分析碰撞试验效果,也有的汽车厂商和飞机厂商用它来分析新模型性能。
[*]Intel: [*]Vtune 性能分析软件
[*]编译器和优化器 [*]很多芯片的设计和制造软件
[*]Intuit: Quicken (个人理财软件). [*]ILOG: 在ILOG上, C++编写的库用于: [*]图形. 该库用来编写可移植性GUI和高级图行机制
[*]优化. 该库用来编写控制程序行为应用
[*]规则. 该库用来编写规则引擎
下面是一些用户: [*]克莱斯勒,法国电力,CENA,北电网络,SAP,阿尔卡特公司,雷诺,Manugistics,Communaut urbaine(里昂交通管制),Parc科技有限公司,巴克莱全球投资(BGI),TLC(运输,Informatik,与物流,GmbH咨询)Deutsche Bahn子公司,国防部的联合作战支援空运中心(JOSAC),Telefonica,思科,尼桑,浦项制铁,索尼银行, isMobile ,美国西南航空公司, Novient ,沃达丰TeleCommerce ,Sabre Holdings公司,法国电信,爱立信公司,德国电信,朗讯科技,MCI WorldCom,西门子,First Union Home Equity Bank,巴恩,惠普, Adonix ,Peugeot, ARINC公司,McHugh.[*]JPL (Jet Propulsion Lab, NASA): 火星探测器自动驱动系统 (包括场景分析和路线预测)以及很多地面支持软件。
[*]KLA-Tencor: 半导体制造系统
[*]Looksmart:主要用C++编写. 所有有关搜索和浏览网页的产品用C++编写,每天的用户超过5百万。
[*]MAN B&W Diesel A/S:用于大型和巨型轮船。
[*]两个巨大的柴油机(超过10万马力)电子控制燃料注入系统和排气阀控制系统。中等规模的严格实时嵌入式系统,完全24/7分布式容错恢复 。除了几百行汇编,其余全部用高质量的C++代码编写。
[*]发动机和船板机器的几个巨大的支撑系统全部用C++编写。
[*]几个内部的高级商业应用,用于发动机设计和设计信息存储。
[*]Medimage:所有产品,从医疗图像显示系统到从一个机器到其他机器通信服务软件,通信用不论用modem还是TCP/IP都用C++编写 。该产品支持的平台有Mac OS和Windows。
[*]Mentor Graphics: 从19世纪80年代开始Mentor Graphics应用程序开发开始使用C++,包括:
[*]Calibre: 软件用于IC物理验证、生产和解析
[*]Formal Pro:正式验证等同检查器,能运行几百万网关ASIC和IC[*]FastScan: ASIC 和IC的自动测试模式生成工具
[*]FlexTest: 优化测试涵盖的测试模式产生
[*]TestKompress: 减少ATE内存和时间消耗的工具集
[*]MachTA/PA:高速、精确、大容量晶体管电路模拟,用于DSM和混合信号IC设计时间能量分析
[*]Metrowerks: 一个软件开发工具大名鼎鼎的供应商。CodeWarrior 集成开发环境(IDE), RAD插件和PowerPlant以及对象类库全部用C++编写,网站上列举了一个很酷的应用,例如: 3D映像,实时网络会议,卫星控制技术。
[*]Microsoft: 一般而言微软的产品都带有不同程度的VC++色彩,多数是6.0和7.0,但确有一些仍旧用了5.0(一些产品像Windows XP使用更新的编译器编译),下面列出一些: [*]Windows XP [*]Windows NT(NT4 and 2000) [*]Windows 9x(95, 98, Me) [*]Microsoft Office(Word, Excel, Access, PowerPoint, Outlook) [*]Internet Explorer(包括Outlook Express) [*]Visual Studio (Visual C++, Visual Basic, Visual FoxPro) (Visual Studio的一些部分,诸如基类库配装.NET框架用C#编写,但是C#编译器用C++编写) [*]Exchange[*]SQL 还有一些”微型”产品,例如: [*]FrontPage[*]Money[*]Picture It[*]Project[*]所有的游戏
[*]Morgan Stanley:金融模型的一个大块. [*]Mozilla: Firefox浏览器和Thunderbird客户邮件(开源). [*]MySQL: MySQL服务器(大约25万行C++代码)和MySQL聚簇集,它是世界上最出名的开源数据库。
[*]Nokia: [*]移动通信无线基站/网桥: FlexiGGSN (网关GPRS支撑结点)和FlexiSGSN (服务器GPRS支撑结点). [*]MSC/HLR [*]以色列国家人口统计局:主要用C++来开发, 一些组件内嵌了SQL。每月几百万的交易,从出生到死亡的注册、日常生活、护照保险、签证等等,用于8百万国民和外国工人。
[*]Netopia: [*]Timbuktu Pro–Macintosh和Windows的远程控制, 文件交换以及辅助工具. Timbuktu Pro大约有1千万个结点,5百家公司的70%资金用它周转。这些年来Mac版本获得了很多嘉奖,Windows 版本获得了2002年度世界级PC世界大奖。[*]netOctopus --Macintosh 和Windows基于网络的系统管理。"4千站点 ... 每个站点大约安装了150个agent (管理系统),这就有60万个系统". [*]eSite–几个网页公司为广告客户提供的网站服务器平台。
[*]eCare–基于网络的客户支持。Macintosh和Windows客户端用C++编写. [*]Nullsoft:所有Nullsoft产品用C++编写 (Winamp, NSI等),很多是开源的。
[*]Programming Research: QAC++: C++的分析产品。
[*]Radiometer Medical A/S:高级医疗设备和应用,保守的估计每天世界范围内有1千家医院使用。
[*]Bloog-gas分析器: 基于数据库应用的医学血样分析设备,除了GUI外,该应用软件完全用C++编写。
[*]Blood-gas设备管理系统:分布式数据管理应用全部用C++编写(TAO CORBA中使用ACE框架),用于监视和汇报。
[*]Rain Bird Corporation: Maxicom2 灌溉控制系统.从一个中心PC机Maxicom2 就能控制大片的商业用地和分散地段。距离遥远的控制器间通信通过拨号电话、蜂窝电话、无线、光纤等进行。应用场所包括:主要娱乐公园、国际机场、几所大学、郡公园和公司首脑大楼。
[*]Reliable Software: Co-op,一个P2P版本的控制系统。
[*]Renaissance Technologies: 金融分析贸易软件。
[*]SAP DB: 一个"企业开源数据库" 用Pascal, C, C++编写,较新部分和重写部分用的C++,Release 7.4版本中3392源文件中1088个用C++编写。
[*]Scansoft: Dragon自然演说. 一个获奖奖励演说听说系统,最初开发自"Dragon系统"。
[*]SGI: OpenInventor, 一个建立在OpenGL上的3D 图形图像框架和工具箱。Open Inventor是VRML (虚拟现实模型语言) 标准的基础。
[*]Siemens: 主要医疗系统(为了方便和移植,一般用 ACE)。
[*]Sophis: 交叉资产、证券投资以及风险管理解决方案: "sed在世界范围内引领了金融机构"。
[*]Southwest airlines: 他们的网站, 机票预订, 票务状态, 频繁 flyer程序等。
[*]Sun: [*]HotSpot Java虚拟机用C++编写(这是一个技术前沿的性能换代产品,用来取代用C编写的传统虚拟机。) [*]Sun公司编译器的主要部分用C++编写, 尤其是C++ 前端、Fortran 95前端的一部分和SPARC后端。
[*]为了匹配和稳定的需要,Solaris操作系统的一部分用C++编写, 但外接口看起来像C。
[*]OpenOffice "开源Office系列": "[...] 整个技术基于平台无关的特性。不足10%的代码平台相关,它们作为一个抽象层服务于上层软件组件,由于C++编译器在主要平台上都有,C++就作为了实现它的语言。这就使得the OpenOffice.org technology可以用于不同的平台上" "[...] 这是一个主要用C++实现的复杂应用,部署了模板和异常处理,支持独立的语言捆绑,基于架构的分布式组件。
[*]Symbian OS: rationale: "[...]从内核到外,用C++编写了所有代码。 这是世界上蜂窝电话最流行的操作系统之一。
[*]UIQ Technology: UIQ, 一个移动电话的开源软件用户接口平台,世界上顶尖手机厂商在使用它,用于Symbian系统的手机上。UIQ 3用于索尼爱立信子M600, P990和W950. [*]University of Karlsruhe: L4Ka: pistachio, 一个微内核纯用C++实现。
[*]Vodaphone: 移动电话基础设施,包括服务和收费。
[*]wxWidgets (正式一点称为wxWindows): 跨平台widget集合/工具箱 (开源). [*]WAM!NET: "传输管理器" ISDN和TCP/IP为基础的数据传输软件, 正式的名字是4-Sight ISDN 管理器–集成了ISDN 支持,使用软件可以连接WAM!NET的托管广域网。
[*]ZeroC: 提供ICE, 一个用C++映射的分布式OO计算基础设施。ICE用可移植性好的C++编写,用很多C++编译器编译。ICE用于游戏和大批量的训练模拟。
应用和应用领域不是跟单个组织相关的有:
[*]CDE桌面(很多UNIX系统的标准桌面)用C++编写。
[*]计算几何: CGAL开源项目, 计算几何算法库, 提供艺术几何数据结构状态和算法。主要设计目标是高性能、健壮性和灵活性。为了完成后者设计目标,设计者使用泛型编程理念,使得CGAL看起来感觉象STL。商业上的支持者是 GeometryFactory。
[*]CORBA ORBs: MICO, omniORB, Orbix, TAO。
[*]游戏: 末日三引擎,塞拉利昂在线:Birthright,Hellfire,Football Pro, Bullrider I和II ,Trophy Bear, Kings Quest,Antara,霍伊尔纸牌游戏套件,SWAT,还有很多...Blizzard: 星际争霸,星际争霸:母巢之战,暗黑一,暗黑破坏神II :毁灭之王,魔兽争霸III ,魔兽世界。Quicksilver::上海第二王朝,上海麻将麻将要点,Starfleet Command, Invictus ,PBS's Heritage:文明与犹太人,Master of Orion III, CS-XII,微软:所有游戏。EA:视频游戏引擎。Byond: 一个世界级开发平台。
[*]图形交互界面: [*]Virtual Harlem (Illinois 大学项目,在Chicago和Central Missouri州立大学)它是一个学习环境,允许学生经历19世纪二三十年代的Harlem Renaissance作为文化旅行。Virtual Harlem 建立在高级的VR称为Yggdrasil的脚本框架上。Yggdrasil用C++编写,使用其他C++库和框架。
[*]SGI's OpenGL Performer图形库。
[*]CAVElib VR库。
[*]CAVEGui 是一个图形接口工具,它提供跟CAVE应用程序的交互。
[*]CAVERNsoft G2 一个开源的C++ ready2ware工具箱,用以开发协作网络的应用。
[*]COANIM (or the Collaborative Animator)是一个通过AGAVE查看3D内容的应用软件。AGAVE背后的整体概念是用来附加一个低成本基于PC图形的工作站去存取栅格结点从而投影立体计算机图形允许合作者之间分享3D内容。
[*]Coin是一个带有C++编程接口的高级3D图形库。Coin 用场景图形数据结构渲染实时图形,适合于各种科学工程图形可视化应用。
[*]Agave: 存取栅格增强虚拟环境
[*]Linux上用C++编写的KDE:K Desktop Environment,是一个强大的开源图形桌面环境,用于Unix工作站上。它是Linux桌面环境的旗舰产品。它包含了300种用C++编写的不同的包,包括一个Office族、一个浏览器、开发工具、游戏以及多媒体应用。
[*]一种主要的弹道导弹防御系统用C++编写。
[*]电话系统: 我认为很容易找到用非C++语言编写的系统,但是至少在欧洲这里: [*]C++是Alcatel 传输系统唯一的开发语言, 既用于网络管理 (用ILog Views),也用于真正的传输设备上。FWIW, 德国主要的传输结点(法兰克福, 柏林, 慕尼黑以及德国北部的另一个地方,我认为) 100%用C++编写. 在德国,所有跨越不同的区域的电话呼叫都经过这些中的某部机器。
[*]T-Mobile(德国最大的蜂窝电话操作器)用C++编写了计费系统和多数的WAP端口--动态分配IP地址等。
放下这些暂且不说, 任何人在德国使用电话就要依赖于C++编写的代码--有很多用户呢:-)。那怎么才算一个用户?德国的主电话传输结点用C++编写(我十分确信法国也如此)。我不相信在该国家谁不用电话--这能算8千万(算上法国有1亿4千万)C++使用者吗?[*]SETI@home:一个巨大的合作项目,用来分析外星生命迹象的数据。其中的一部分用C++编写。[*]
网络开发支撑库Poco。这里是一个popo的用户列表。(English version)Trace back: http://www.research.att.com/~bs/applications.html
[ 本帖最后由 winston 于 2008-12-25 15:51 编辑 ]
C++ Applications
C++ ApplicationsHere 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 a Chinese translation. I (Bjarne Stroustrup) 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 advertising. Thanks to all who sent me examples. Suggestions for additions and corrections are welcome. Other people's lists: [*]Who's Using Boost? [*]ACE and TAO users [*]Major industry applications and tools with evolution path. Applications clearly associated with a single organization: [*]12D Solutions: Computer Aided Design system for surveying, civil engineering, and more. [*]Adobe Systems: All major applications are developed in C++: [*]Photoshop & ImageReady, [*]Illustrator, [*]Acrobat, [*]InDesign, [*]GoLive, [*]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". [*]Amadeus: 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: [*]Car reservation [*]Customer profile server [*]Electronic ticketing [*]TCP/IP front end [*]Amazon.com: Software for large-scale e-commerce. [*]Apple: OS X is written in a mix of language, but a few important parts are C++. The two most interesting are [*]Finder [*]IOKit device drivers. (IOKit is the only place where we use C++ in the kernel, though.) Also, [*]AppleWorks [*]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++". [*]Frameworks: There are three major C++ application frame works developed for Macintosh: Apple's MacApp (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. [*]Arium: Sourcepoint; Hardware debugging and emulation for Intel and ARM systems (incl. multi-processor systems). [*]AT&T: The largest US telecommunications provider. [*]1-800 service [*]provisioning systems [*]systems for rapid network recovery after failure [*]Autodesk: A large number of major number of application in the CAD domain. [*]BeOS: a multiprocessor multimedia personal operating system. [*]BigFix, Inc.: 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++. [*]Bloomberg: Providing real-time financial information to investors. [*]Cabot Communications: Portable set top box and digital TV software (incl. ISO MHEG-5). [*]Caldera: 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. [*]callas Software: 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. [*]Codemill: SuperDoc: A PalmOS document reader, notable for fast font anti-aliasing. [*]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: Provides XSD, 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. [*]Coverity: 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: uses C++ exclusively for tracking orders on the European stock markets. [*]Dantz Development Corporation: Retrospect backup software for Windows. [*]D-Cubed: 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, SolidEdge). [*]D E Shaw: Financial analysis and trading software. [*]Digiquant: 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. [*]Dassault Systems: Catia v5; leading CAD software, on which was conceived all recent Airbus planes (A380, ...). Also, Boeing 787 software. Entirely written in C++, using STL. [*]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 here. [*]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 [*]Ericsson: [*]TelORB - Distributed operating system with object oriented [*]distributed RAM database, The base for the TSP application [*]server platform. [*]TDMA-CDMA HLR [*]GSM-TDMA-CDMA mobility gateway [*]AAA server. [*]FlightGear: an open source flight simulator, using JSBSim, one of the flight dynamics math models used in FlightGear and by other simulators. [*]Geant4: 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. [*]Google: web search engine, etc. [*]Chromium browser. [*]Google file system. [*]MapReduce large cluster data processing. [*]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) [*]IBM: [*]OS/400. [*]K42: a high performance, open source, general-purpose operating system kernel for cache-coherent multiprocessors. [*]Image Systems: TrackEye and TEMA, the world leading motion analysys 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 are used". [*]Intel: [*]Vtune performace analysis software [*]compilers and optimizers [*]lots of chip design and manufacturing software. [*]Intuit: Quicken (personal financial software). [*]ILOG: At ILOG, we provide libraries written in C++ used for: [*]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. 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. [*]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). [*]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. [*]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. [*]Metrowerks 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. [*]Microsoft: Literally everything at Microsoft is built using various flavors of Visual C++ - mostly 6.0 and 7.0 but we do have a few holdouts still using 5.0 :-( and some products like Windows XP use more recent builds of the compiler. The list would include major products like: [*]Windows XP [*]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++.) [*]Exchange [*]SQL There are also "minor" products like: [*]FrontPage [*]Money [*]Picture It [*]Project [*]and all the games. [*]Morgan Stanley: a large chunk of their financial modelling. [*]Mozilla: Firefox browser and Thunderbird mail client (open source). [*]MySQL: MySQL Server (about 250,000 lines of C++) and MySQL Cluster. Arguably the world's most popular open source database. [*]Nokia: [*]Mobile Communications radio-station/internet bridges: FlexiGGSN (Gateway GPRS Support Node) and FlexiSGSN (Server GPRS Support Node). [*]MSC/HLR [*]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. [*]Netopia: [*]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++. [*]Nullsoft: All Nullsoft products are C++ (Winamp, NSI, etc.) and many are open source. [*]Programming Research: QAC++: Analysis product for C++. [*]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 TAO CORBA), 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. [*]Reliable Software: Co-op, A peer-to-peer version control system. [*]Renaissance Technologies: Financial analysis and trading software. [*]SAP DB: 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". [*]SGI: OpenInventor, a 3D graphics framework and tool kit built on top of OpenGL. Open Inventor serves as the basis for the VRML (Virtual Reality Modeling Language) standard. [*]Siemens: Major medical systems (often using ACE for convenience and portability). [*]Sophis: Cross-asset, front-to-back portfolio and risk management solutions: "sed world-wide by leading financial institutions". [*]Southwest airlines: Their website, flight reservations, flight status, frequent flyer program, etc. [*]Sun: [*]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 end. [*]Parts of Solaris are written in C++, though the external interface is usually crafted to look like C, for compatibility and stability reasons. [*]OpenOffice "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." [*]Symbian OS: rationale: "[...] using C++ for all system code, from the kernel upwards." This is one of the most widespread OS's for cellular phones. [*]UIQ Technology: 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++. [*]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++. [*]Computational Geometry: 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 GeometryFactory. [*]CORBA ORBs: MICO, omniORB, Orbix, TAO. [*]Games: Doom III engine. Sierra On-line: Birthright, Hellfire, Football Pro, Bullrider I & II, Trophy Bear, Kings Quest, Antara, Hoyle Card games suite, SWAT, and too many others to list... Blizzard: StarCraft, StarCraft: Brood War, Diablo I, Diablo II: Lord of Destruction, Warcraft III, World of Warcraft. Quicksilver: Shanghai Second Dynasty, Shanghai Mah Jongg Essentials, Starfleet Command, Invictus, PBS's Heritage: Civilization and the Jews, Master of Orion III, CS-XII. Microsoft: all games. EA: video game engine. Byond: a "world" development platform. [*]Interactive graphics: [*]Virtual Harlem (project 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 framework called Yggdrasil written in C++ using other C++ Libraries and freameworks: [*]SGI's OpenGL Performer graphics library. [*]CAVElib VR library. [*]CAVEGui is a graphical interface tool that provides interaction with a CAVE application. [*]CAVERNsoft G2 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. [*]Coin 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 visualization applications. [*]Agave: 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 Europe: [*]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. 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++? [*]SETI@home Huge collaborative project to analyse data to find signs for extraterrestrial life. Partly written in C++. [*]Web development support library Poco. Here is list of poco users.
[ 本帖最后由 winston 于 2008-12-25 15:55 编辑 ]
页:
[1]