回 帖 发 新 帖 刷新版面

主题:C++的应用(C++ Applications)

维护这篇文章处于最新状态有些困难,尝试一下这里[url]http://www.cppblog.com/Chipset/archive/2008/12/17/69625.html[/url],这个版本可能更新一点。
                                                                          2008年12月2日更新

[size=3]    这里有一个有关系统、应用程序和库的列表,列表中的全部或者大部分代码用C++编写,当然,该列表并不全面。即使我如何努力,我也不能列举一个含有1000个主要由C++编写的程序列表,但是这里的列表可能包含我听说过程序之中的第1000个。这是一个包括系统、应用程序和库的列表,读者可能熟悉其中的一些,新手可能有个概念C++能做什么,或者我仅仅觉得它很“酷”。
    [这里有一个本文翻译的中文连接]

    我(Bjarne Stroustrup)不能保证该列表的完全准确,但是我相信它是准确的,我信任那些发给我例子的人,不过我个人并没有见到源代码。我宁愿C++风格的代码,而不是大部分代码用C编写却尽力避免列出C或者C程序而称谓C++。列表中很多细节的描述来自开发人员和用户而不是我。

    该列表的组织形式实在有点说不过去。我把那些明显和一个公司有关的应用程序列在该公司名下,但是有一些系统没有用这样的组织方式。

    我并不知道列表中所有的缩写都什么意思。我也的确列出了一些C++的应用,即使他们依赖于C++的扩展,我欣赏更多的例子--尤其主要的应用。如果你发给我一个有URL地址的例子会更好一点。我并没有列出某些应用、系统或者库,除非我认为他们会让很多人感兴趣--我并不想尝试给出一个很完整的列表。我不会列出一种尚没有得到广泛应用的软件(抱歉)。这个列表意味着主要的应用,但在包含新产品方面则不太全面。我并不想表示“公平”,比如给出某个应用而不是某特定领域的所有产品--该列表试图给出一个整体印象,而不是帮助你选择某个产品。我尽量少重新描述某个产品,但会删除那些明显的广告性用语。

    谢谢所有发给我例子的人!欢迎给出更多的例子,欢迎纠正错误。

其他人的列表:

    * 谁在使用Boost?
    * ACE和TAO用户
    * 不断更新中的主要工业应用和工具。 

明显跟一个组织相关的应用:

    * 12D 解决方案:计算机辅助系统,用于测量、民用工程等等。
    * Adobe系统:所有主要的应用用C++开发
          o Photoshop和ImageReady,
          o Illustrator,
          o Acrobat,
          o InDesign,
          o GoLive,
          o Frame (大部分C, 部分C++) 
    * Alias|Wavefront: Maya. Maya 自从开发出来以后一直用于制作电影特效, 包括星球大战前传I,蜘蛛侠,指环王,精灵鼠小弟等。“我爱三维动画”。
    * Amadeus: 正在运行中最大的欧洲非军用数据中心 (每秒超过5000个交易,连接20万个终端,24/7负载)大多数开发用C++语言。所有基于Unix服务器的应用全部用C++开发,例如:
          o 汽车预订
          o 客户端服务
          o 电子订票
          o TCP/IP 前端 
    * Amazon.com:大型电子商务应用软件。
    * Apple:OS X 操作系统使用很多语言开发,但是几个重要的部分用C++开发的。两个比较诱人的部分分别是,
          o 搜索器(Finder)
          o IOKit设备驱动 (IOKit 是内核里面仅有使用C++的地方)

还有,

          o AppleWorks
          o iPod用户接口(Pixo应用框架用C++写的)
          o 成千上万的Macintosh应用程序估计半数以上用C++开发的。
          o Frameworks: 有3个广泛使用的Macintosh应用框架工程用C++开发,分别是Apple's MacApp, Symantec's Think Class Libraries和 Metrowerks' PowerPlant。
    * Arium:资源点,Intel和ARM系统硬件调试和仿真(包括多处理器系统)。
    * AT&T:美国最大的电信供应商
          o 1-800 服务
          o 配置系统
          o 网络失败应急系统 
    * 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: 一种掌上操作系统文件阅读器,能显著的平滑字体。
          o SecurityContext: 一种 Win32 COM组件,用来简化当前线程的上下文安全查询。
          o 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++开发:
          o EnterNet: PPPoE 用户端驱动和应用设置
          o Tango Qualifier:用户环境预攫取预测
          o Tango Installer:向导型安装器
          o Tango Access: PPPoE用户端驱动和应用设置
          o Tango Support:用户层网络诊断工具
    * Ericsson:
          o TelORB–面向对象的分布式操作系统
          o 分布式RAM数据库, TSP应用的基础
          o 服务器平台
          o TDMA-CDMA HLR
          o GSM-TDMA-CDMA移动网关
          o AAA服务器
    * FlightGear:开源飞行模拟器使用了JSBSim
    * Geant4:粒子干涉模拟,用于高能物理、核物理试验,太空和医疗应用的工具箱。Geant4 工程世界范围内100多位科学家合作,进行10余次试验,分别在欧洲、俄罗斯、日本、加拿大和美国。用C++编写,源代码超过500K行。
    * Google: 网络搜索引擎等
          o Chromium 浏览器
          o Google文件系统
          o MapReduce 大聚簇数据处理
    * Havoc:实时的物理用特效以及游戏
    * HP:下面是很小一部分C++应用
          o C, C++, Fortran90 HP IA64 平台编译器和连接器 (加了1百万行C++源代码).
          o SAM (HP的系统管理应用)
          o 一些HP-UX的网络库
          o Java虚拟机内核
          o Openview的一部分
          o Non-stop XML语法分析器 (来自最初的compaq) 
    * IBM:
          o OS/400.
          o K42: 一种高性能开源的多处理器操作系统内核 
    * Image Systems: TrackEye 和TEMA, 世界上顶尖动作分析软件 (基于数字图像处理)。多数汽车厂商用它分析碰撞试验效果,也有的汽车厂商和飞机厂商用它来分析新模型性能。
    * Intel:
          o Vtune 性能分析软件
          o 编译器和优化器
          o 很多芯片的设计和制造软件
    * Intuit: Quicken (个人理财软件).
    * ILOG: 在ILOG上, C++编写的库用于:
          o 图形. 该库用来编写可移植性GUI和高级图行机制
          o 优化. 该库用来编写控制程序行为应用
          o 规则. 该库用来编写规则引擎

[/size][续]

回复列表 (共43个回复)

31 楼

LZ楼主的精神值得敬重
中国比较缺乏的就是楼主这种人

32 楼

[quote]"Without a good library, most interesting tasks are hard to do in C++;
 but given a good library, almost any task can be made easy."

                                                        Bjarne Stroustrup[/quote]

Now I finally understand why Andrew Koenig say,“库设计就是语言设计,语言设计就是库设计。”..

33 楼

老帖啦,本来早就该更新了,一直没有时间,该更新到09年1月26号的版本,尽管新版本跟本贴的版本基本没有多大变化。

34 楼

Bjarne Stroustrup的这个东西是想说C++很有用
但我想没有人否认C++是一种最难的高级语言
我很想知道楼主认为C++最强的是什么地方
或者最适合解决哪类问题?

35 楼

bu cuo.

不过做出东西来的,才是真正的牛人

36 楼

楼主,你太强了。这些东西翻译出真是花了你不少心血,特此感谢

37 楼

楼主说的很好了,不过我觉得你的语气里似乎有点贬低了c#和java;呵呵,其实语言各有千秋的,我是这么想得,当然,C/C++在底层和系统上面的应用,我们有目共睹,所以才会有C语言从Unix到今天一直不倒,深入到各个领域;
  不过Java和C#在应用层的应用也是C++所不能匹敌的,当然我不是说c++办不到了,c++也是办得到的,但是我们一个Ruby三个小时就搞定的东西,c++至少要三天(这是预计,可能要更长),而C++ 效率比起来只提高了10%左右,而付出的代价要大得多;
  也有很多的说法就是c++有些悲剧性的地方,就是c++是一个可以面向对象的语言,可是c++所面向的底层有决定了它的适用领域 各部分之间的交互相当的频繁,当然面向对象就是希望把东西模块化,所谓的"高内聚,低耦合",这就使得C++ 的地位很悲剧,相比C语言来他低了一筹,而比起Java来又不是那样的语言,所以c++有时觉得很可怜,不过有了STL之后c++变得更强大了,不过在大型的工程上更多的还是C,比如OS DBMS 以及网络通信 方面,c++比c要少很多.
 这都是个人意见,仅供参考的,各抒己见,呵呵!

38 楼

嗯,比我牛B滴。。哈哈!
[url=http://www.578ba.cn/][color=#fefcfd]http://www.578ba.cn[/color][/url]
[url=http://www.m88mingsheng.cn/][color=#fefcfd]http://www.m88mingsheng.cn[/color][/url]
[url=http://www.jbbby.cn/][color=#fefcfd]http://www.jbbby.cn[/color][/url]

39 楼

看帖回帖^_^

40 楼

看帖回帖^_^

我来回复

您尚未登录,请登录后再回复。点此登录或注册