2011年11月编程语言排行榜:Google新利器Dart
下面是前20名的编程语言排行
什么是Dart?
Dart语言“Hello world”
class HelloDartTest { static testMain() { print("Hello, world!"); } } main() { HelloDartTest.testMain(); }
Dart如何执行代码
dart主要有两种执行方式:
1.在浏览器中执行。
a)在 Dartboard 中,在线编辑、执行,尝试和演示目的。这是目前最简单的方法。
b)使用转换工具将dart转换为javascript后在浏览器执行。
c)使用script标签在浏览器中直接执行,
2.虚拟机直接执行。dart源文件的后缀一般是 .dart ,就像其它语言一样: dart_bin yourcode.dart 。
默认执行不启用类型检查,可以使用 --enable_type_checks 选项启用类型检查。
目前官方还没提供个平台的二进制构建版本,需要自行获取代码构建。
或者网上下载别人构建好的版本,具体见这里 ,Linux、Win、Mac都有(没试过不保证没问题)。
Dart设计目标
Dart编程语言当前处于早期阶段。这些设计目标将会持续地演进和精炼:
◆ 创建一种结构化但灵活的web编程语言
◆ 使用程序员感到熟悉并自然,易于学习
◆ 确保所有的Dart语言构造允许高性能和快速启动应用
◆ 使Dart适用于全部范围的web设备,包括手机、平板、笔记本和服务器
◆ 提供工具使Dart能够在所有现代浏览器上快速运行
这些设计目标定位于当前Web开发者面对的如下问题:
◆ 小脚本经常演化为没有明显结构的大型web应用,他们难以调试和维护。另外,这些整体的应用不能被切分所以不同小组不能独立的工作。当web应用变大之后很难有生产力。
◆ 脚本语言的流行是因为他们轻量型的本质使其快速写代码很容易。通常应用与其它部分的契约是写在注释中的而不是在语言自身的构造中。结果,作者以外的人难以阅读和维护一段特定的代码。
◆ 使用现存的语言,开发者被迫在静态语言和动态语言中做出选择。传统的静态语言要求重量型的工具链并且感觉死板和过度约束的代码风格。
◆ 开发者没有创建出一种同时适用客户端和服务端的均衡系统,除了少数情况如Node.js和GWT。
◆ 不同的语言和格式需要上下文切换,很麻烦并增加了编码的复杂性。
意欲取代Javascript
谁能相信, Javascript的设计,其实只用了十天。而且,设计师Brendan Eich是为了向公司交差,本人并不愿意这样设计.详情请参考JavaScript诞生记。Javascript同时结合了函数式编程和面向对象编程的特点,这很可能是历史上的第一例。而且直到今天为止,Javascript仍然是世界上唯一使用Prototype继承模型的主要语言。这使得它没有设计先例可以参考。最糟糕的是Javascript过早的标准化,1996年8月,微软公司强势介入,宣布推出自己的脚本语言Jscript;11月,为了压制微软,网景公司决定申请Javascript的国际标准;1997年6月,第一个国际标准ECMA-262正式颁布。太多的巧合促成了JavaScript与生俱来的10个设计缺陷。
在谷歌正式推出Dart后,众家评说谷歌新编程语言Dart,纷纷猜测倘若Google的Dart技术上优于JavaScript,这个孤单的事实能够促使它成功的取代JavaScript吗?
Dart如果真的像是解释性Smalltalk语言的话,它几乎将直接与JavaScript和Python竞争。如果将“Go”语言作为衡量标准,Dart其实更像是一个新奇小玩意,而不是什么开拓性的工具。它可能只是为了解决“以谷歌为中心”的问题,而不是旨在成为一种流行的编程语言。目前,人们还不清楚它的定位,还是让我们拭目以待吧。
下面是本期编程语言排行榜的其他排名数据和趋势走向。
前10名编程语言走势图
20到50名语言排行
下面是第50到100的编程语言排名
(Visual) FoxPro, ABC, Algol, Bash, bc, BETA, BlitzMax, Boo, Bourne shell, CFML, cg, CL (OS/400), Clean, cT, Dart, Dylan, Eiffel, Factor, Free Pascal, Groovy, Icon, IDL, Io, J, JavaFX Script, JScript.NET, Korn shell, LabVIEW, Lingo, LPC, MAD, MUMPS, NATURAL, Oberon, Occam, OpenCL, OpenEdge ABL, Oz, PostScript, PowerShell, REXX, S, Scala, SPSS, Standard ML, SuperCollider, VBScript, X10, xBase, Z shell
下面给出了编程语言类别的一年变化趋势