chaosuper85

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

The Programmng Language Beacon (fwd)

The Programmng Language Beacon

v3.4 -- 2009年4月

该表包含了主要软件产品或应用,以及实现所用的编程语言详细信息。有关信息很难找到,一些小错误可能会掠过作者的眼帘,欢迎给出修改、添加、以及引用的建议。该列表不会面面俱到,仅仅列出主要应用。具体到产品家族的次序没有什么特别的规则,读者应该理解这不是排名。

主要的编程语言,完成的新开发突出显示,古老时期使用过也给出来,仅仅使用很少一部分开发也指出来。软件列表通常很大,编程语言不够全面,杂七杂八的语言没有涉及到。有时候一行有多种产品(例如”游戏”),或者一行有多种实现(例如JVM 实现),此时指出主流方向,忽略掉不同性质的例子。

一些读者认为列出的多数应用是基于古老的代码,使用的新技术表明其时间趋势。这种观点不对,介绍涉及了一些日期,像 这里, 或 这里 表明什么是”新”或”旧”技术跟直觉无关。

C和C++的区别有点人为因素,争论多数C代码是C++代码永远可能,或者反过来也一样(因为有些人使用C++或多或少像使用C没什么两样),大概怎样就凭直觉。

*** 表示当前进化使用的主要编程语言。

*   表示该技术仍在用,可能稳定可能衰减。
!!!  表示该产品已经死亡,死时在用那种技术。
==> 表示向指向栏目进化。

当只有箭头时,表明该技术相关的代码现在已经荡然无存或者微不足道,已经向箭头方向进化。

觉得网页内容似是而非的读者可以在这里找到该现象的细微解释。 阅读2.7.4部分。

版本注释:

2009年4月14日, v3.4: 添加了 facebook.
2009年4月1日, v3.3: 页面颜色看上去舒服一些。
2008年9月8日, v3.2: 添加了Google Chrome
2008年7月4日, v3.0: 修订了BlackBerry OS信息
2007年9月22日, v2.9: 添加了Google Android。
2007年8月21日, v2.8: 添加了邮件服务器部分。

Family/Product

Date

ASM

C

C++

Java

C#

Others

Notes

 

操作系统

 

Microsoft Windows

 

*

==>

*

==>

***

 

 

 

在Windows Mobile中做了一些尝试使用部分C# (例如软键盘)。结果发现速度太慢,最终产品只好再转向C++。

 

Linux

 

 

***

 

 

 

 

 

 

Apple MacOS

 

 

***

*

 

 

部分Objective-C

最初版本的Mac OS用户接口受WIMPXerox Alto 用户接口的影响,用SmallTalk实现,试运行,结果需求硬件太贵,早期版本的MacOS使用汇编和Pascal

 

Sun Solaris

 

 

***

 

 

 

 

 

 

HP-UX

 

 

***

 

 

 

 

 

 

移动设备操作系统

 

Symbian OS

 

*

 

***

 

 

 

Symbian是手机操作系统的领头羊。

 

Google Android

2008年

 

***

 

 

 

 

 

 

RIM BlackBerry OS 4.x

 

 

 

***

 

 

 

RIM要求开发人员使用Java 作为BlackBerry的编程语言,人们对此困惑不解,BlackBerry OS 本身用C++开发。

 

图形接口层

 

Microsoft Windows UI

 

 

 

***

 

 

 

 

 

Apple MacOS UI (Aqua)

 

 

 

***

 

 

 

 

 

Gnome

 

 

***

*

 

 

 

 

 

KDE

 

 

 

***

 

 

 

 

 

桌面搜索

 

Google Desktop Search

 

 

 

***

 

 

 

 

 

Microsoft Windows Desktop Search

 

 

 

***

 

 

 

 

 

Beagle

 

 

 

 

 

***

 

 

 

Office产品

 

Microsoft Office

 

*

==>

*

==>

***

 

 

 

传统的MS Office使用了汇编,后来用C,C++出现后,任何新东西都用C++做。目前没有计划转变的倾向。几年来有一个小的尝试开发一个面板用C#,不清楚这种做法是否维持下来。

 

Sun Open Office

 

 

 

***

*

 

 

Sun Micro Open Office, 于1999从Star Division获得。没有企图尝试把代码转向Java,Java用在一些杂项模块。

 

Corel Office/WordPerfect Office

 

 

 

***

<==

(19978)

 

 

Corel Office最初用汇编和C开发,Corel Office 转向了Java,为何移植性考虑于1996年全部用Java开发,于19978月放弃, 因为速度太慢。代码后来用C和C++重新开发。

 

Adobe Systems Acrobat Reader/Distiller

 

 

 

***

 

 

 

 

 

关系数据库管理系统

 

Oracle

 

*

*

***

*

 

 

核心只用汇编、C和C++

 

MySQL

 

 

 

***

 

 

 

 

 

IBM DB2

 

*

***

*

 

 

 

 

 

Microsoft SQL Server

 

*

==>

*

==>

***

 

 

 

 

 

IBM Informix

 

*

***

*

 

 

 

 

 

SAP DB/MaxDB

 

 

 

***

 

 

 

 

 

网页浏览器

 

Microsoft Internet Explorer

 

 

 

***

 

 

 

 

 

 

 

 

***

 

 

 

 

 

Netscape Navigator

 

 

***

==>

Mozilla

<==

!!!

 

 

Netscape浏览器用C编写的,但Netscape 工程师都热衷Java (见M. Cusumano 的文章) 于是用Java重新开发了该浏览器,太慢,只能弃之。下一版本Mozilla,用C++开发。

 

Safari

2003年7月7日

 

 

***

 

 

 

用于Apple Mac OS的浏览器,基于WebKita C++框架

 

Google Chrome

2008年9月2日

 

 

***

 

 

 

Chrome用了26种不同的库。最基本的代码来自Safari。处于核心地位之一的是特别快的 V8 JavaScript引擎, 用C++编写。

 

Sun HotJava

 

 

 

 

!!!
(1999
)

 

 

HotJava 没有真正派上用场,跟其它浏览器相比,速度太慢。它成了Java applet 技术的展览品,1999年后冻结。

 

Opera

 

 

 

***

 

 

 

 

 

Opera Mini

 

 

 

***

***

 

 

Opera Mini (2007) 的架构十分滑稽,用了C++和Java。该浏览器分为两部分,一个极薄的(少于100KB)可视端部分和用于执行的服务器端。Java的最初使用来接受OBML格式的网页,后来复用的传统Opera (C++)执行引擎以及它的小屏幕执行在服务器上。这允许Opera嵌入支持J2ME的便携设备,例如手机,却保持很好的相应速度。当然,很明显做出一些牺牲,例如执行JavaScript。

 

Mosaic

 

 

!!!

 

 

 

 

Mosaic是第一个被广泛使用的浏览器,变成了Netscape。

 

邮件客户端

 

Microsoft Outlook

 

 

 

***

 

 

 

 

 

IBM Lotus Notes

 

 

 

***

 

 

 

 

 

开发环境

 

Microsoft Visual Studio

 

 

 

***

 

 

 

 

 

Eclipse

 

 

 

 

***
(见notes)

 

 

Eclipse主要位于MS Visual Studio没有覆盖的市场。为了编译它,开发了一种特殊的图形库,SWT用来取代Java传统的AWT。不同于AWT全部用Java,密集用户反映速度太慢,SWT是C/C++代码上薄薄的一层。

 

虚拟机

 

Microsoft .Net CLR

 

 

 

***

 

 

 

 

 

Java Virtual Machine (JVM)

 

 

 

***

 

 

 

 

 

ERP

 

SAP mySAP ERP

 

 

*

 

 

 

***
ABAP/4

 

 

Oracle Peoplesoft

 

 

 

*

==>

***

 

***
PeopleSoft 面向对象编程语言

Peoplesoft依赖于BEA Tuxedo 和C++代码,现在转向了BEA WebLogic和Java, 保留了 POOPL语言。C++ 代码明显没有重写。

 

Oracle E-Business Suite

 

 

 

 

***

 

 

 

 

Business Intelligence

 

Business Objects

 

 

 

***

 

 

 

 

 

Graphics Editors

 

Adobe Photoshop

 

 

 

***

 

 

 

 

 

The GIMP

 

 

***

 

 

 

部分Perl

 

 

搜索引擎

 

Google

 

*

 

***

 

 

 

 

 

网站

 

eBay

 

 

 

(2002年) 

==>

***

 

 

有关eBay 架构从C++ 转向Java 的信息在这里

 

Amazon

 

 

 

***

 *

 

 

 

 

facebook

2006年9月26日

 

 

***

 

 

***
PHP

这里仅仅涉及了facebook, 不包括插件。插件可以用多种技术开发,这多亏了facebook的ORB/应用服务器Thrift。Thrift 包含了一个用C++编写的编译器。facebook 人这样描述 Thrift: "多语言代码和适合用于搜索,因为这允许应用开发位于高效的服务器端(C++) 而且允许基于PHP的网络应用程序使用Thrift PHP 库调用搜索服务" 在使用C++的一边, facebook采纳 了一个 LAMP 架构。

 

游戏

 

*

*

***

 

 

 

 

 

编译器和解释器

 

Microsoft Visual C++

 

 

 

***

 

 

 

 

 

gcc

 

 

***

 

 

 

 

 

 

javacc

 

 

***

*

*

 

 

 

 

Perl

 

 

 

***

 

 

 

 

 

PHP

 

 

***

 

 

 

 

 

 

3D引擎

 

Microsoft DirectX

 

 

 

***

 

 

 

 

 

OpenGL

 

 

***

 

 

 

 

 

 

OGRE 3D

 

 

 

***

 

 

 

 

 

网络服务器

 

Apache

 

 

***

*

 

 

 

 

 

Microsoft IIS

 

 

 

***

 

 

 

 

 

邮件服务器

 

Microsoft Exchange Server

 

 

*

==>

***

 

 

 

 

 

Postfix

 

 

***

 

 

 

 

 

 

IBM Lotus Notes Server

 

 

 

***

 

 

 

 

 

hMailServer

 

 

 

***

 

*

 

 

 

Apache James

 

 

 

 

***

 

 

Apache James当前版本是2.3.1从2007年4月至今一直未变。

 

Web 2.0

 

MediaWiki

 

 

 

 

 

 

***
PHP

推动着Wikipedia

 

TWiki

 

 

 

 

 

 

***
Perl

 

 

Google Blogger

 

 

 

 

 

 

 

细节不清楚,该软件重设计好几次,例如2002一次,2006年一次。

 

Flickr

 

 

 

 

 

 

***
PHP

 

 

CD/DVD刻录

 

Nero Burning ROM

 

 

 

***

 

 

 

 

 

K3B

 

 

 

***

 

 

 

 

 

多媒体播放器

 

Nullsoft Winamp

 

 

 

***

 

 

 

 

 

Microsoft Windows Media Player

 

 

 

***

 

 

 

 

 

Apple iPod software

 

 

 

***

 

 

 

 

 

P2P

 

eMule

 

 

 

***

 

 

 

 

 

µtorrent

 

 

 

***

 

 

 

 

 

Azureus

 

 

 

 

***

 

 

Azureus 建在SWT之上,见 关于Eclipse的notes

 

GPS系统

 

TomTom

 

 

 

***

 

 

 

 

 

Hertz NeverLost

 

 

 

***

 

 

 

 

 

Garmin

 

 

 

***

 

 

 

 

 

Motorola VIAMOTO

2003

 

 

 

!!!
(20076)

 

 

Motorola VIAMOTO 是一个智能手机"连接" GPS实现,有一个Java客户端。被一些汽车出售公司重新树立品牌。例如Avis Assist是 Motorola VIAMOTO 产品的另外一个名字。. Avis已经撤销这个产品 提供在美国提供Garmin 在欧洲提供TomTom。 Motorola 在2007年6月撤销该产品。Alamo/National重新树立品牌系统"Navigation Station" 也不再继续该服务。

posted on 2009-05-21 23:47 chaosuper 阅读(305) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理