编程语言烽火台

编程语言烽火台

编程语言烽火台
v11.1 2013
1

Chipset20130210, For English version, please visit: http://www.lextrait.com/vincent/implementations.html

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

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

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

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

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

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

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

觉得网页内容似是而非的读者可以在这里找到该现象的细微解释。 阅读"Time will come when computers will be fast enough"部分。
201241224小时内有11,425次访问,打破历史记录

版本注释:

2013125, v11.1: 宣布Symbian死亡。
2013120, v11:
更新了Amazon, 添加了Evernote, LinkedIn, DropBox

2012421, v10.8: 更新了SAP部分。
2012414, v10.7:
蜂拥的反馈信息,把gcc退到CAndroid 系统上添加了Java Open Office重命名。
2012410, v10.6:
添加了C#实现的注释,还有Roslyn 项目的参考。更新Visual Studio 添加了C#,感谢Hrvoje
201246, v10.5:
gccC转向了C++,添加了Python上添加了youtube

20101124, v10.4: 修正了Perl(CC++), 添加了Google Wave终止信息。

2010714, v10.3: iPad OS, iPod Touch OS以及iPhone OS添加了信息。给Eclipse RCP加了点信息。

201035, v10.2: 添加了PayPal项。

201028, v10.1: facebook项添加了HipHop项。
201012, v10.0:
添加了Pike Opera Mini,把发布号改为发布年。

2009915, v3.9: 添加了Google Wave, Apple iPhone OS and Amazon Kindle OS几项。
2009815, v3.8:
添加了一个universal remotes栏目。
200979, v3.7:
添加了Google Chrome OS
2009517, v3.6:
更新了Lotus Notes项。

2009511, v3.5: 更新了编译器/解释器栏目 (感谢, Northwood)

2009414, v3.4: 添加了 facebook
200941, v3.3:
页面颜色看上去舒服一些。
200898, v3.2:
添加了Google Chrome
200874, v3.0:
修订了BlackBerry OS信息
2007922, v2.9:
添加了Google Android
2007821, v2.8:
添加了邮件服务器部分。

 

 

 

 

 

产品类别

日期

汇编

C

C++

Java

C#

其它

注释

操作系统

Microsoft Windows

 

 

 

 

Windows Mobile中做了一些尝试使用部分C# (例如软键盘)。结果发现速度太慢,最终产品只好回退到C++Windows内核用C写的和编译的,仅有几千行汇编。

Linux

 

 

 

 

 

 

 

Apple MacOS

 

 

 

 

一些Objective-C

最初版本的Mac OS用户接口受WIMP Xerox Alto 用户接口的影响,用SmallTalk实现,试运行,批量投放市场硬件成本过高。早期版本的MacOS使用汇编和Pascal

Sun Solaris

 

 

 

 

 

 

[Chipset译注: Solaris现在在Oracle门下]

HP-UX

 

 

 

 

 

 

 

Google Chrome OS

2009

 

 

 

 

Google ChromeLinux Chrome为基础

手机操作系统

Symbian OS

 

 


(2013)

 

 

 

Symbian2010年仍旧是手机系统的领头羊,在2012年第2季度市场份额降到了4.4%。在2013124宣布死亡。

Google Android

2008

 

 

 

Android基于LinuxLinuxC来写的。用户接口用了Java。应用(此处没有涉及到)多数是Java写的。

RIM BlackBerry OS 4.x

 

 

 

 

 

 

RIM要求开发人员必须用Java 开发BlackBerry,开发人员对此困惑不解,BlackBerry OS 本身用C++开发。

Amazon Kindle OS

2007

 

 

 

 

 

Kindle运行Linux

Apple iPhone iPod Touch and iPad OS

2007

 

 

 

一些Objective-C

iPhone, iPod TouchiPad使用 Mac OS的变种

图形接口层

Microsoft Windows UI

 

 

 

 

 

 

 

Apple MacOS UI (Aqua)

 

 

 

 

 

 

 

Gnome

 

 

 

 

 

 

KDE

 

 

 

 

 

 

 

桌面搜索

Google Desktop Search

 

 

 

 

 

 

 

Microsoft Windows Desktop Search

 

 

 

 

 

 

 

Beagle

 

 

 

 

 


(2009)

 

 

办公产品

Microsoft Office

 

 

 

 

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

Apache OpenOffice

 

 

 

 

 

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

Corel Office/WordPerfect Office

 

 

 

 (19978)

 

 

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

Adobe Systems Acrobat Reader/Distiller

 

 

 

 

 

 

 

Evernote

 

 

 

 

(201010)

 

Evernote v3.5 C#写的。为了提升速度技术上不得不改变 4.0开始编程语言用C++

关系数据库管理系统

Oracle database

 

 

 

核心代码只有汇编、CC++

MySQL

 

 

 

 

 

 

 

IBM DB2

 

 

 

 

 

Microsoft SQL Server

 

 

 

 

 

IBM Informix

 

 

 

 

 

SAP DB/MaxDB

 

 

 

 

 

 

 

网页浏览器

Microsoft Internet Explorer

 

 

 

 

 

 

 

Mozilla Firefox

 

 

 

 

 

 

 

Netscape Navigator

 

 

 

Mozilla

 

 

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

Safari

03年元月7

 

 

 

 

 

苹果 Mac OS的浏览器, 基础是WebKit, 一个 C++ 框架.

Google Chrome

0892

 

 

 

 

 

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

Sun HotJava

 

 

 

 


(1999)

 

 

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

Opera

 

 

 

 

 

 

 

Opera Mini

 

 

 

 

Pike

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

Mosaic

 

 

 

 

 

 

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

邮件客户端

Microsoft Outlook

 

 

 

 

 

 

 

IBM Lotus Notes

 

 

 

 

 

 

 

开发环境

Microsoft Visual Studio

 

 

 

 

 

Visual Studio 2010 仍然主要使用原生代码,对于UI展示,采用了 托管WPF框架 后来的版本也是如此,插件越来越多使用了C#

Eclipse

 

 

 

 


(
见注释)

 

 

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

虚拟机

Microsoft .Net CLR

 

 

 

 

 

 

 

Java Virtual Machine (JVM)

 

 

 

 

 

 

 

ERP

SAP mySAP ERP

 

 

 

 


ABAP/4

 SAP ERPABAP编写,生成C代码。SAP核心本身用CC++编写。

Oracle Peoplesoft

 

 

 

 


PeopleSoft 面向对象编程语言

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

Oracle E-Business Suite

 

 

 

 

 

 

 

商业智能

Business Objects

 

 

 

 

 

 

 

图形编辑器

Adobe Photoshop

 

 

 

 

 

 

 

The GIMP

 

 

 

 

 

一些Perl

 

搜索引擎

Google

 

 

 

 

 

 

网站

eBay

 

 

 

(2002)

 

 

关于eBay的架构和从C++迁移到Java的信息在这里

PayPal

 

 

 

 

 

 

 

Amazon

 

 

 

 

 

Amazon开始时大量使用了C++,现在使用Java的代码量持续上升。

facebook

2006926

 

 

 

 


PHP

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

YouTube

 

 

 

 

 

 


Python

如果怀疑的话看下 这里 YouTube涉及到很多I/O操作,跟技术商业逻辑很可能没啥关系。

LinkedIn

 

 

 

 

 

 

 

 

DropBox

 

 

 

 

 

 


Python

详细信息在 这里

游戏

 

 

 

 

很多智能手机上的游戏用Java写的。这里仅仅指代全伺服磁盘游戏。

编译器/解释器

Microsoft Visual C++

 

 

 

 

 

 

 

Microsoft Visual Basic

 

 

 

 

 

 

 

Microsoft Visual C#

 

 

 

 

 

 

值得一提的是微软有一个项目Roslyn 包含了用 C# 编写的C#编译器

gcc (GNU C 编译器)

 

 

 

 

 

 

 

javac (Java 编译器)

 

 

 

 

 

 

 

Perl

 

 

 

 

 

 

 

PHP

 

 

 

 

 

 

 

3D引擎

Microsoft DirectX

 

 

 

 

 

 

 

OpenGL

 

 

 

 

 

 

 

OGRE 3D

 

 

 

 

 

 

 

网络服务器

Apache

 

 

 

 

 

 

Microsoft IIS

 

 

 

 

 

 

 

邮件服务器

Microsoft Exchange Server

 

 

 

 

 

 

Postfix

 

 

 

 

 

 

 

hMailServer

 

 

 

 

 

 

Apache James

 

 

 

 

 

 

 

Web 2.0

MediaWiki

 

 

 

 

 

 


PHP

推动着维基百科

TWiki

 

 

 

 

 

 


Perl

 

Google Blogger

 

 

 

 

 

 

 

细节不清楚,翻工多次,例如在2002-2006年期间

Google Wave

2009

 

 

 


(2010
8)

 

 

Google Wave用户接口使用 Google Web Toolkit.,这样使得用Java编写UI和生成Java脚本代码成为可能,服务器也用Java

Flickr

 

 

 

 

 

 


PHP

 

CD/DVD刻录

Nero Burning ROM

 

 

 

 

 

 

 

K3B

 

 

 

 

 

 

 

媒体播放器

Nullsoft Winamp

 

 

 

 

 

 

 

Microsoft Windows Media Player

 

 

 

 

 

 

 

Apple iPod software

 

 

 

 

 

 

 

P2P

eMule

 

 

 

 

 

 

 

µtorrent

 

 

 

 

 

 

 

Azureus

 

 

 

 

 

 

Azureus建立在SWT之上, Eclipse相关注释

GPS系统

TomTom

 

 

 

 

 

 

 

Hertz NeverLost

 

 

 

 

 

 

 

Garmin

 

 

 

 

 

 

 

Motorola VIAMOTO

2003

 

 

 


(2007
6)

 

 

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

通用远程

Logitech Harmony 1000/1100

2009

 

 

 


(2009)

 


Flash

系统 Harmony 1100现在以Flash为基础, Harmony 1000Java为基础

 


The Programming Languages Beacon
v11.1 - January 2013

 

This table contains a list of major software products or utilities, with details about the programming languages used to implement them. Information on this is difficult to find, and a few small mistakes might have escaped the author's attention. Corrections, suggestions for additions or even references are welcome. The list is not supposed to be exhaustive but the most significant products are tentatively listed. The order of the products in each family obeys no specific rule, the reader should not understand it as a ranking.
The main programming language, the one with which most of new developments are done, is highlighted, while the ones used in older times and still present, or used only for a minority of the developments are indicated too. The pieces of software listed are usually very large, and the list of programming languages cannot be exhaustive. Miscellaneous languages are not mentioned. Sometimes, there are different products under the same line (eg "Games"), or different implementations of a single line (eg JVM implementations). In this case, the overwhelming trend is indicated. Miscellaneous counter examples are ignored.
Some readers believe that most of the applications presented are based on old code, and that the technologies in use reflect the trends of the time. As it is an erroneous belief, some introduction dates are mentioned, like here, or here to show that what is "new" or "old" technology does not necessarily correspond to intuition.

The difference between C and C++ is a bit artificial, as it is always possible to argue that most of C code is C++ code, or conversely (as more than a few people use C++ more or less like C). The approximation made in this document tries to correspond to intuition.

indicates the major programming language for current evolutions.
refers to a technology which is present, but is either stable or decreasing.
means that the product has died, and when it died, it used that technology
is meant to show an evolution towards the column it points to.

When the arrow is alone, it means that the amount of code corresponding to the technology in this column is either now null or negligible, having evolved in the direction of the arrow.

The readers who might find the content of this page paradoxical will find a tentative explanation of the phenomenons at stake here. Read the section entitled "Time will come when computers will be fast enough".

11,425 visits to this page on the 12th of April 2012 over 24h, record beaten!

Release notes:

25th of January 2013, v11.1: Symbian declared dead.
20th of January 2013, v11: updated Amazon, added Evernote, LinkedIn, DropBox.
21st of April 2012, v10.8: updated the SAP section.
14th of April 2012, v10.7: following overwhelming feedback, reverting gcc to C. Also added Java on Android OS, and renamed Open Office.
10th of April 2012, v10.6: added a note for C# implementation, with a reference to project Roslyn. Updated also Visual Studio technology to add C#. Thanks Hrvoje.
6th of April 2012, v10.5: changed gcc from C to C++, added youtube on Python
24th of November 2010, v10.4: fixed Perl line (C and not C++), added termination of Google Wave
14th of July 2010, v10.3: added info on iPad OS, iPod Touch OS in addition to iPhone OS. Added info on Eclipse RCP
5th of March 2010, v10.2: added PayPal entry
8th of February 2010, v10.1: added reference to HipHop in the facebook entry
2nd of January 2010, v10.0: added Pike to Opera Mini. Changed release numbering to year.release
15th of November 2009, v3.9: added Google Wave, Apple iPhone OS and Amazon Kindle OS entries.
15th of August 2009, v3.8: added a universal remotes section.
9th of July 2009, v3.7: added Google Chrome OS.
17th of May 2009, v3.6: update the Lotus Notes entry.
11th of May 2009, v3.5: updated the Compilers/Interpreters section (thanks, Northwood).
14th of April 2009, v3.4: added facebook.
1st of April 2009, v3.3: page is now color blind friendly.
8th of September 2008, v3.2: added Google Chrome.
4th of July 2008, v3.0: fixed BlackBerry OS info.
22nd of November 2007, v2.9: added Google Android.
21st of October 2007, v2.8: added a mail servers section.

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.

 

Linux

 

 

 

 

 

 

 

 

Apple MacOS

 

 

 

 

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.

 

Operating Systems for Mobiles

 

Apple iPhone iPod Touch and iPad OS

2007

 

 

 

Objective-C

The iPhone, iPod Touch and iPad use a modified version of Mac OS.

 

Google Android

2008

 

 

 

Android is based on Linux, which is coded in C. The user interface is Java. Apps (not covered here) are mostly Java.

 

RIM BlackBerry OS 4.x

 

 

 

 

 

 

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++.

 

Amazon Kindle OS

2007

 

 

 

 

 

The Kindle runs Linux.

 

Symbian OS

 

 


(2013)

 

 

 

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.

 

Graphical Layers

 

Microsoft Windows UI

 

 

 

 

 

 

 

 

Apple MacOS UI (Aqua)

 

 

 

 

 

 

 

 

Gnome

 

 

 

 

 

 

 

KDE

 

 

 

 

 

 

 

 

Desktop Search

 

Google Desktop Search

 

 

 

 

 

 

 

 

Microsoft Windows Desktop Search

 

 

 

 

 

 

 

 

Beagle

 

 

 

 

 


(2009)

 

 

 

Office Products

 

Microsoft Office

 

 

 

 

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 OpenOffice

 

 

 

 

 

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.

 

Corel Office/WordPerfect Office

 

 

 

(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++.

 

RDBMS

 

Oracle database

 

 

 

Only Assembler, C and C++ in the core.

 

MySQL

 

 

 

 

 

 

 

 

IBM DB2

 

 

 

 

 

 

Microsoft SQL Server

 

 

 

 

 

 

IBM Informix

 

 

 

 

 

 

SAP DB/MaxDB

 

 

 

 

 

 

 

 

Web Browsers

 

Microsoft Internet Explorer

 

 

 

 

 

 

 

 

Mozilla Firefox

 

 

 

 

 

 

 

 

Netscape Navigator

 

 

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++.

 

Safari

7-Jan-03

 

 

 

 

 

Browser for Apple Mac OS, its foundation is WebKit, a C++ framework.

 

Google Chrome

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++.

 

Sun HotJava

 

 

 

 


(1999)

 

 

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.

 

Opera

 

 

 

 

 

 

 

 

Opera Mini

 

 

 

 

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

 

 

 

 

 

 

Mosaic was the first widely spread browser, it morphed into Netscape.

 

Mail Clients

 

Microsoft Outlook

 

 

 

 

 

 

 

 

IBM Lotus 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.

 

Virtual Machines

 

Microsoft .Net CLR

 

 

 

 

 

 

 

 

Java Virtual Machine (JVM)

 

 

 

 

 

 

 

 

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

 

 

 

 


PeopleCode

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

 

 

 

 

 

 

 

 

Business Intelligence

 

Business Objects

 

 

 

 

 

 

 

 

Graphics Editors

 

Adobe Photoshop

 

 

 

 

 

 

 

 

The GIMP

 

 

 

 

 

Some Perl

 

 

Search Engines

 

Google

 

 

 

 

 

 

 

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.

 

facebook

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

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.

 

LinkedIn

 

 

 

 

 

 

 

 

 

DropBox

 

 

 

 

 

 


Python

For details, have a look here.

 

Games

 

 

 

 

A lot of games on smart phones are developed using Java. This entry refers to "full service" disk based games.

 

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 C compiler)

 

 

 

 

 

 

 

 

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++.

 

3D Engines

 

Microsoft DirectX

 

 

 

 

 

 

 

 

OpenGL

 

 

 

 

 

 

 

 

OGRE 3D

 

 

 

 

 

 

 

 

Web Servers

 

Apache

 

 

 

 

 

 

 

Microsoft IIS

 

 

 

 

 

 

 

 

Mail Servers

 

Microsoft Exchange Server

 

 

 

 

 

 

 

Postfix

 

 

 

 

 

 

 

 

hMailServer

 

 

 

 

 

 

 

Apache James

 

 

 

 

 

 

 

 

Web 2.0

 

MediaWiki

 

 

 

 

 

 


PHP

Powers Wikipedia

 

TWiki

 

 

 

 

 

 


Perl

 

 

Google Blogger

 

 

 

 

 

 

 

Unknown details, the software has been re-engineered several times, for instance in 2002 and 2006.

 

Google Wave

2009

 

 

 


(August 2010)

 

 

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

 

 

CD/DVD Authoring

 

Nero Burning ROM

 

 

 

 

 

 

 

 

K3B

 

 

 

 

 

 

 

 

Multimedia Players

 

Nullsoft Winamp

 

 

 

 

 

 

 

 

Microsoft Windows Media Player

 

 

 

 

 

 

 

 

Apple iPod software

 

 

 

 

 

 

 

 

Peer to Peer

 

eMule

 

 

 

 

 

 

 

 

µtorrent

 

 

 

 

 

 

 

 

Azureus

 

 

 

 

 

 

Azureus is built on top of SWT, see notes corresponding to Eclipse.

 

GPS Systems

 

TomTom

 

 

 

 

 

 

 

 

Hertz NeverLost

 

 

 

 

 

 

 

 

Garmin

 

 

 

 

 

 

 

 

Motorola VIAMOTO

2003

 

 

 


(June 2007)

 

 

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.

 

Universal remotes

 

Logitech Harmony 1000/1100

2009

 

 

 


(2009)

 


Flash

The UI of the Harmony 1100 is now Flash based vs the Java UI found in the Harmony 1000.

 

This page is maintained by Vincent Lextrait (e-mail [email protected])

你可能感兴趣的:(编程语言烽火台)