撼動IT界的10大程式語言!

iteye_18942發表於2012-01-17
撼動IT界的10大程式語言!
2012年01月10日
   [b]導讀:[/b]開發者是否真的還需要一種新的程式語言呢?選擇已經有那麼多了,現有的語言都讓開發者應接不暇,可是各種新的程式語言還是在以驚人的速度產生!答案就是隨著多核CPU、雲端計算、移動及分散式結構的不斷髮展,簡單的語法已經不能適用,我們需要更加強大的語言!而以下10種程式語言,或正在走向成熟,或還在開發,可是它們都以全新的視角演繹著軟體開發的藝術,每一種語言,都有可能開啟程式設計世界的新大門!
  [b]No.1:Dart[/b]
  JavaScript在Web的互動性方面運用得很好,但是當Web應用程式的程式碼行過多時,它的弱點就會顯現出來,因此,Google推出了新的結構化Web程式語言Dart用以替代JavaScript。
  與JavaScript標準的語法不同的是,Dart是通過類和介面來定義物件,並且允許程式設計者自由地定義靜態變數,這使得Dart既能如JavaScript般流暢,又能更快更容易地儲存且不易受干擾。此外,CSDN軟體研發頻道之前編譯的Dart比JavaScript更酷的10個理由會讓你瞭解到更多Dart的便捷性。
  [b]No.2:Ceylon[/b]
  Gavin King 稱Ceylon是由紅帽公司開發,被稱之為“Java 殺手”。King是一名Java愛好者,他認為Java還有很大的改進空間。比如,缺少優秀的高階函式,對超程式設計薄弱的支援,缺乏對結構資料定義的說明等等,Ceylon就是為了解決這些問題而產生的。現在Ceylon編譯器已經支援在JVM上執行輸出字串,當然Ceylon的目標不只這些,它的目標是開發出新的Ceylon SDK來代替Java SDK。
  [b]No.3:Go[/b]
  Go是一門從應用程式開發到系統程式設計都通用的程式設計語言。從某種程度上來說,它更像是C或者C++,但又像Java、C#一樣有垃圾回收機制,執行時間對映及並行支援諸如此類的先進特點。同時,Go很容易編寫,它像C卻又沒有C的冗長古板。
  Go開發團隊想開發出一種愉快的程式語言,身為動態指令碼語言又兼具編譯語言的特性。不過,Go目前還是在繼續開發中,對於它的應用規則也隨時可能改變。此外,Google已經開發出相應的工具和編譯器。
  [b]No.4:F#[/b]
  雖然函式式程式設計在電腦科學家及學術界裡很流行,但是純函式式語言卻很難跟現實世界的軟體開發相結合。微軟開發的F#是包含函式式和實際應用的優秀語言,它和其他CLR(公共語言執行庫)語言使用相同的函式庫和特點。不過F#有自己的更有趣的語法特點,如豐富的資料型別會做科學的分類,還提供了一些設計有助於非同步I/O、CPU並行化、解除安裝GPU的處理等。
  現在微軟已經在基於Apache開源許可證下開發了F#編譯器及核函式庫,大家可以免費使用,甚至可執行在MAC和Linux系統上。
  [b]No.5:Opa[/b]
  Opa提出了一項嶄新的Web程式設計規範,而這或將一舉消滅其他大部分的程式語言。在Opa應用程式中,客戶端的UI、伺服器端的邏輯,以及資料庫中的I/O都可以用簡單的程式語言Opa執行。它將客戶端和服務端的結構框架繫結在一起。當然,這還需要後臺特殊技術的支援。Opa的執行環境是繫結了它的Web伺服器和資料庫管理系統,其中任一部分都不能隨意取代。現在,Opa對64位的Linux和Mac OSX平臺是開源,以後會有更多的介面來使用。
  [b]No.6:Fantom[/b]
  Fantom是專門為跨平臺的移植而設計的。Fantom不僅包含了可以在JVM或者.NET CLI中執行的編譯器,也包括了一系列從Java和.NET API中抽象出來的API,從而建立了一個額外的可移植層。現在有更多的計劃要把Fantom 這種移植性蔓延開。不過可移植性並不是Fantom存在的唯一原因。它在繼承一些像C這樣的特性時,也提高了支援其它語言的質量。
  Fantom在Academic 3.0下開源,支援在Windows和Unix平臺上使用。
  [b]No.7:Zimbu[/b]
  作為Bram Moolenaar的產物,Zimbu吸收了以前各種語言的特點,目標是成為一種快速、簡潔、輕便、易讀、可適用於從GUI應用程式到OS核心的語言。由於Zimbu具備多種特性,而語法本身是獨一無二的。它不僅有著像C一樣的表示式和運算子,也有自己的關鍵字、資料型別和分程式結構。此外,還支援記憶體管理、執行緒。良好的可移植性也是Zimbu的一個重要的特性。雖然Zimbu是編譯語言,但是它輸出的是ANSI C程式碼。
  不幸的,Zimbu現還處於初期階段。但是如果你有興趣體驗的話,一些基本的工具在Apache 許可下已經可以使用了。
  [b] No.8:X10[/b]
  並行處理已經成為了軟體開發的趨勢。因此,IBM研究院開發了X10來順應這種趨勢,希望提高開發者10倍的效率。X10使用全域性地址空間分割槽(PGAS)的程式設計模式來進行並行管理。程式碼和資料以單位的形式被分開儲存,這有利於在處理器上高效能的將單執行緒轉為多執行緒。將來X10還會實現跟Java的互動使用。
  現在X10還在改善當中,但是已經相當成熟了,在Linux、Mac OS X 及Windows等多種平臺上都可以使用。
  [b]No.9:haXe[/b]
  haXe不僅是一門便捷的語言,更是在不同的操作環境間使用的跨平臺語言,從Native binaries到直譯器再到虛擬機器。開發者可以在haXe裡編寫程式碼,然後將它們編譯成目的碼。haXe標準庫是這門核心語言的堅實後盾,它能在每個目標上分別執行,然後再使用特殊目標庫,從而來體現每個平臺的不同之處。haXe有一系列優點,而它最主要的優勢莫過於將目標平臺上所固有的問題給否定掉。雖然haXe現在還仍處於開發階段,但它的開發者已經將其用到商業上和遊戲工作室Motion Twin。在開源許可證下,它可適用於Linux,Mac OS X及Windows。
  [b]No.10:Chapel[/b]
  Chapel作為Cray的第一門獨創性的程式語言,是為超級計算和叢集而設計的。Chapel的語法吸收多方的精華,除了通常的語言(C,C++,JAVA),它還從科學程式設計語言中借鑑概念,它的並行處理的特點則是受ZPL及高效能的程式語言的影響。Chapel一個最吸引人的特點是支援“多重解析程式設計”。
  Chapel的開發還在繼續。現在,它可以在Cray的超級計算機和多數高效能的叢集上使用,但它對大部分類似Unix系統來說也是相當便捷的。原始碼在BSD開源許可下可使用。
  那麼,這些新語言中您關注過或用過的有多少呢?

相關文章