撼動IT界的10大程式語言!
撼動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開源許可下可使用。
那麼,這些新語言中您關注過或用過的有多少呢?
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開源許可下可使用。
那麼,這些新語言中您關注過或用過的有多少呢?
相關文章
- 10大怪異的程式語言
- 9大技術或將撼動2010年科技領域
- 基於 10 大程式語言的 30 個深度學習庫深度學習
- 2015年最具人氣的10大程式語言
- 時至今日,為何C語言在軟體開發領域的地位仍無法撼動C語言
- PHP語言需要避免的10大誤區PHP
- PHP 語言需要避免的 10 大誤區PHP
- 如何選擇大資料的程式語言大資料
- 永不磨滅的九大尖端程式語言
- 資料處理的 9 大程式語言
- 程式開發語言的七大奇蹟
- IT公司中最流行的10種程式語言
- 256種程式語言大薈萃
- 最‘乾淨’的程式語言——空白程式語言
- 發揮GPU強大動力的CG語言GPU
- 2013年1月程式語言排行榜:移動程式語言的巔峰
- 十大最容易找工作的程式語言
- 撼動企業應用架構的十大技術趨勢應用架構
- 10個經典的C語言小程式C語言
- 大資料與程式語言關係大資料
- 大資料:程式語言真的重要嗎?大資料
- 中國手機大變局:阿里樂視入場 大資本撼動原有格局阿里
- 把程式語言看做語言
- 語言大模型大模型
- 大語言模型模型
- 程式語言BASIC程式設計師的啟蒙語言C程式程式設計師
- 9個最佳的大資料處理程式語言大資料
- 低程式碼與大語言模型的探索實踐模型
- 國人開發的程式語言-“明”語言
- Paul Graham:撼動矽谷的人(譯文)
- 學習遊戲要學習程式語言嗎?十大主流程式語言解析遊戲
- 11大類程式語言功能比較表
- 2017 最佳程式語言 Top 10
- CWK100程式設計語言程式設計
- 聊聊C語言/C++—程式和程式語言C語言C++
- TIOBE:2012年9月世界程式語言排行榜
- 慘遭數百萬開發者厭棄的 5 大程式語言!
- 用於影像識別的五大最佳程式語言!