2011年11月編程語言排行榜:Google新利器Dart
原創(chuàng)【51CTO獨(dú)家特稿】***的編程語言排行榜已經(jīng)公布,離2012年只有兩個月了,從目前市場占有趨勢來看,Objective-C已經(jīng)脫穎而出成為***編程語言獎項(xiàng)的最有力競爭者,本月更是上升到排行榜第六位,TIOBE編程語言排行榜每年初都將統(tǒng)計(jì)評出上年度的***編程語言大獎,獲獎的編程語言被認(rèn)為在該年度市場份額增長及用戶認(rèn)可度方面獲得了最為突出的成績。另外C# , JavaScript也有所上升,2010年和2007年兩次獲得年度編程語言獎項(xiàng)的Python排名卻有所下滑,不過仍然排行第8位。
下面是前20名的編程語言排行
本月51CTO為您介紹Google新結(jié)構(gòu)化編程語言Dart。早在九月份Google就已著手注冊了一系列與Dart相關(guān)的域名,當(dāng)時也引發(fā)了沸沸揚(yáng)揚(yáng)的猜測。只到10月10日在丹麥舉行的Goto會議上,谷歌Dart語言項(xiàng)目的領(lǐng)導(dǎo)人Lars Bak才正式宣布推出編程語言Dart。Lars Bak——這位來自谷歌的工程師曾經(jīng)憑借其V8 JavaScript解釋程序顛覆了火狐瀏覽器的速度神話。
什么是Dart?
Dart是一種基于類的可選類型化編程語言,設(shè)計(jì)用于創(chuàng)建Web應(yīng)用程序。Dart的設(shè)計(jì)目標(biāo)是為Web編程創(chuàng)造結(jié)構(gòu)化但又富有靈活性的語言;編程方法一目了然,符合程序員的自然習(xí)慣,易于學(xué)習(xí);能在所有瀏覽器 和不同環(huán)境中實(shí)現(xiàn)高性能。谷歌推出的全新Web開發(fā)語言Dart很可能與Smalltalk存在著種種相似之處。它將Web發(fā)展引向一條與此前截然不同的另類道路。參考51CTO外電:Dart之于JavaScript正如C#之于C++
Dart語言“Hello world”
- class HelloDartTest {
- static testMain() {
- print("Hello, world!");
- }
- }
- main() {
- HelloDartTest.testMain();
- }
Dart如何執(zhí)行代碼
dart主要有兩種執(zhí)行方式:
1.在瀏覽器中執(zhí)行。
a)在 Dartboard 中,在線編輯、執(zhí)行,嘗試和演示目的。這是目前最簡單的方法。
b)使用轉(zhuǎn)換工具將dart轉(zhuǎn)換為javascript后在瀏覽器執(zhí)行。
c)使用script標(biāo)簽在瀏覽器中直接執(zhí)行, 。當(dāng)然瀏覽器要支持才行,目前還沒有,估計(jì)只有Chrome將會支持。
2.虛擬機(jī)直接執(zhí)行。dart源文件的后綴一般是 .dart ,就像其它語言一樣: dart_bin yourcode.dart 。
默認(rèn)執(zhí)行不啟用類型檢查,可以使用 --enable_type_checks 選項(xiàng)啟用類型檢查。
目前官方還沒提供個平臺的二進(jìn)制構(gòu)建版本,需要自行獲取代碼構(gòu)建。
或者網(wǎng)上下載別人構(gòu)建好的版本,具體見這里 ,Linux、Win、Mac都有(沒試過不保證沒問題)。
Dart設(shè)計(jì)目標(biāo)
Dart編程語言當(dāng)前處于早期階段。這些設(shè)計(jì)目標(biāo)將會持續(xù)地演進(jìn)和精煉:
◆ 創(chuàng)建一種結(jié)構(gòu)化但靈活的web編程語言
◆ 使用程序員感到熟悉并自然,易于學(xué)習(xí)
◆ 確保所有的Dart語言構(gòu)造允許高性能和快速啟動應(yīng)用
◆ 使Dart適用于全部范圍的web設(shè)備,包括手機(jī)、平板、筆記本和服務(wù)器
◆ 提供工具使Dart能夠在所有現(xiàn)代瀏覽器上快速運(yùn)行
這些設(shè)計(jì)目標(biāo)定位于當(dāng)前Web開發(fā)者面對的如下問題:
◆ 小腳本經(jīng)常演化為沒有明顯結(jié)構(gòu)的大型web應(yīng)用,他們難以調(diào)試和維護(hù)。另外,這些整體的應(yīng)用不能被切分所以不同小組不能獨(dú)立的工作。當(dāng)web應(yīng)用變大之后很難有生產(chǎn)力。
◆ 腳本語言的流行是因?yàn)樗麄冚p量型的本質(zhì)使其快速寫代碼很容易。通常應(yīng)用與其它部分的契約是寫在注釋中的而不是在語言自身的構(gòu)造中。結(jié)果,作者以外的人難以閱讀和維護(hù)一段特定的代碼。
◆ 使用現(xiàn)存的語言,開發(fā)者被迫在靜態(tài)語言和動態(tài)語言中做出選擇。傳統(tǒng)的靜態(tài)語言要求重量型的工具鏈并且感覺死板和過度約束的代碼風(fēng)格。
◆ 開發(fā)者沒有創(chuàng)建出一種同時適用客戶端和服務(wù)端的均衡系統(tǒng),除了少數(shù)情況如Node.js和GWT。
◆ 不同的語言和格式需要上下文切換,很麻煩并增加了編碼的復(fù)雜性。
意欲取代Javascript
誰能相信, Javascript的設(shè)計(jì),其實(shí)只用了十天。而且,設(shè)計(jì)師Brendan Eich是為了向公司交差,本人并不愿意這樣設(shè)計(jì).詳情請參考JavaScript誕生記。Javascript同時結(jié)合了函數(shù)式編程和面向?qū)ο缶幊痰奶攸c(diǎn),這很可能是歷史上的***例。而且直到今天為止,Javascript仍然是世界上唯一使用Prototype繼承模型的主要語言。這使得它沒有設(shè)計(jì)先例可以參考。最糟糕的是Javascript過早的標(biāo)準(zhǔn)化,1996年8月,微軟公司強(qiáng)勢介入,宣布推出自己的腳本語言Jscript;11月,為了壓制微軟,網(wǎng)景公司決定申請Javascript的國際標(biāo)準(zhǔn);1997年6月,***個國際標(biāo)準(zhǔn)ECMA-262正式頒布。太多的巧合促成了JavaScript與生俱來的10個設(shè)計(jì)缺陷。
在谷歌正式推出Dart后,眾家評說谷歌新編程語言Dart,紛紛猜測倘若Google的Dart技術(shù)上優(yōu)于JavaScript,這個孤單的事實(shí)能夠促使它成功的取代JavaScript嗎?
Dart如果真的像是解釋性Smalltalk語言的話,它幾乎將直接與JavaScript和Python競爭。如果將“Go”語言作為衡量標(biāo)準(zhǔn),Dart其實(shí)更像是一個新奇小玩意,而不是什么開拓性的工具。它可能只是為了解決“以谷歌為中心”的問題,而不是旨在成為一種流行的編程語言。目前,人們還不清楚它的定位,還是讓我們拭目以待吧。
#p#
下面是本期編程語言排行榜的其他排名數(shù)據(jù)和趨勢走向。
前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
下面給出了編程語言類別的一年變化趨勢
【2011年榜單回顧】
- 10月編程語言排行榜:不成大器的D語言
- 9月編程語言排行榜:專為機(jī)器人玩具設(shè)計(jì)的語言NXT-G
- 8月編程語言排行榜:以總統(tǒng)為名的語言新貴Lua
- 2011年7月編程語言排行榜:COBOL五角大樓出品
- 2011年6月編程語言排行榜:為孩子創(chuàng)造的語言Scratch
- 2011年5月編程語言排行榜:用MATLAB構(gòu)建宇宙
- 2011年4月編程語言排行榜:告別Smalltalk
- 2011年3月編程語言排行榜:用Ada向人類首位程序員致敬
- 2011年2月編程語言排行榜:冰河時代的Fortran
- 2011年1月編程語言排行榜:Python稱霸2010