【51CTO独家特稿】谷歌Dart在本月首次进入了TIOBE排名前50位,也是首次出色的表现。Dart是主要作为开发客户端Web应用程序的编程语言。更让人觉得异想天开的是,谷歌将Dart作为代替JavaScript的主要编程语言的Web开发。微软,苹果和Mozilla目前已经宣布它们的浏览器将不支持Dart语言,所以更有趣的是,让我们关注Google如何在未来将Dart普及。
从上月份的编程语言排行榜来看,前10名编程语言排行没有太大的浮动。下面让我们来看看前20名的榜单。
2012年10月编程语言排行榜榜单
谷歌Dart编程语言
今年10月10日“Goto"大会将在丹麦奥胡斯举行,谷歌两位开发人员会借着主题演讲的机会来揭晓这门新语言的全貌,直到那时我们才能了解DART的特点和功能。但幸运的是,“Goto”会议网站为我们提供了一些关于这两位发明人的详细传记,他们两位分别是SAP、Sun公司计算机科学家及Java语言的共同发明者吉拉德·布拉查(Gilad Bracha),以及Chrome浏览器V8 JavaScript引擎的创造者拉尔斯·巴克(Lars Bak)。
到目前为止,谷歌已经发布了过一种名叫“Go”的新语言。所以我们可以认为Dart不会是另外一种类似于C的面向系统语言。从它的别名“结构化的Web编程”可以看出,它很有可能是某种驻留在浏览器上的解释性语言。所以,它更类似于JavaScript或Python,而不是像Java或其他的编译性语言。不过,布拉查和巴克曾经在过去深入广泛地使用过Smalltalk语言,解释性的Smalltalkesque语言也可以归类为是一种“结构化的Web编程”,这算是给了我们一个明显的提示。
然而,新的面向Web编程语言面临的问题就是,目前人们早已拥有无数种维护良好的可用语言。Dart如果真的像是解释性Smalltalk语言的话,它几乎将直接与JavaScript和Python竞争,其中Python可是谷歌最流行的语言之一。如果将“Go"语言作为衡量标准,Dart其实更像是一个新奇小玩意,而不是什么开拓性的工具。它可能只是为了解决“以谷歌为中心”的问题,而不是旨在成为一种流行的编程语言。目前,人们还不清楚它的定位,可也许谷歌之外的人也会用得上这门新的语言。
Google正式推出Dart语言,欲将Javascript赶下神坛
Google正式发布了其结构化网页编程语言Dart。决心通过其撼动Javascript网页编程统治地位。确实,Javascript作为一个10天完成开发的赶工产品,自推出以来一直被不少程序员所诟病,连其创造者也并不对其满意。其诸如不适于大型程序开发、标准库狭小、全局变量不易控制等问题一直困扰着不少开发者。Google推出Dart显然是瞄准了这些Javascript的不足,并希望通过这款更加适应现代网页编程的语言,将Javascript取而代之。
Dart语言是一款21世纪产品,其设计完美适应现代浏览器和移动设备,无论平板电脑还是服务器Dart都具有良好表现。
Dart是一款面向对象的基于类概念的编程语言。从去年泄露的电子邮件来看,Dart在保留JavaScript动态性的同时,提供了更好的性能表现以及更加适应大型工程开发等特性。相比于Javascript,它在设计中更多的考虑了语言的简洁性、效率以及可伸缩性。据该语言开发人员在Google Code博客中介绍,用Dart编写的应用程序不仅可以在本地虚拟机上执行,同时也可以完美转化成Javascript语言,在任何Javascript引擎上运行,确保和现有体系平滑对接。
除了更好的支持现代浏览器和移动设备,Dart更具优势的特点在于其能轻松满足多种开发方案的需要。无论是简单的单人的项目开发,还是复杂的大型程序开发,Dart都能满足开发人员需要。为了支持不同的项目类型和项目规模,Dart具有可选类型功能。程序员可以在编码时先不限定变量类型,在完成大部分编写后再根据实际需求填充。
Dart的语法简洁明了,且和常用编程语言具有一定相似性。只要你曾经进行过程序开发,就一定可以快速上手Dart。其简洁明了的特点,让代码更具可读性,将大大提高程序员的编程效率。
前10名编程语言走势图
20到50名语言排行
下面是第50到100的编程语言排名
(Visual) FoxPro, ABC, Algol, AutoLISP, bc, BETA, C shell, CHILL, CL (OS/400), Clarion, Clean, Clojure, cT, Dylan, Emacs Lisp, F#, Factor, Go, Groovy, Icon, IDL, Informix-4GL, J, JScript.NET, LabWindows/CVI, Ladder Logic, LPC, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, OpenEdge ABL, Oz, PL/I, PowerShell, Q, REXX, S, Smarty, SPARK, thinBasic, VBScript, Verilog, VHDL, WebDNA, X10, xBase, XSLT |