撼動IT界的10大編程語言

2012-01-10 21:05:44來源:infoworld作者:CSDN

導(dǎo)讀:開發(fā)者是否真的還需要一種新的編程語言呢?選擇已經(jīng)有那么多了,現(xiàn)有的語言都讓開發(fā)者應(yīng)接不暇,可是各種新的編程語言還是在以驚人的速度產(chǎn)生!答案就是隨著多核CPU、云計(jì)算、移動及分布式結(jié)構(gòu)的不斷發(fā)展,簡

導(dǎo)讀:開發(fā)者是否真的還需要一種新的編程語言呢?選擇已經(jīng)有那么多了,現(xiàn)有的語言都讓開發(fā)者應(yīng)接不暇,可是各種新的編程語言還是在以驚人的速度產(chǎn)生!答案就是隨著多核CPU、云計(jì)算、移動及分布式結(jié)構(gòu)的不斷發(fā)展,簡單的語法已經(jīng)不能適用,我們需要更加強(qiáng)大的語言!而以下10種編程語言,或正在走向成熟,或還在開發(fā),可是它們都以全新的視角演繹著軟件開發(fā)的藝術(shù),每一種語言,都有可能打開編程世界的新大門!

No.1:Dart

JavaScript在Web的交互性方面運(yùn)用得很好,但是當(dāng)Web應(yīng)用程序的代碼行過多時(shí),它的弱點(diǎn)就會顯現(xiàn)出來,因此,Google推出了新的結(jié)構(gòu)化Web編程語言Dart用以替代JavaScript。

與JavaScript標(biāo)準(zhǔn)的語法不同的是,Dart是通過類和接口來定義對象,并且允許編程者自由地定義靜態(tài)變量,這使得Dart既能如JavaScript般流暢,又能更快更容易地存儲且不易受干擾。此外,CSDN軟件研發(fā)頻道之前編譯的Dart比JavaScript更酷的10個(gè)理由會讓你了解到更多Dart的便捷性。

No.2:Ceylon

Gavin King 稱Ceylon是由紅帽公司開發(fā),被稱之為“Java 殺手”。King是一名Java愛好者,他認(rèn)為Java還有很大的改進(jìn)空間。比如,缺少優(yōu)秀的高階函數(shù),對元編程薄弱的支持,缺乏對結(jié)構(gòu)數(shù)據(jù)定義的說明等等,Ceylon就是為了解決這些問題而產(chǎn)生的,F(xiàn)在Ceylon編譯器已經(jīng)支持在JVM上運(yùn)行輸出字符串,當(dāng)然Ceylon的目標(biāo)不只這些,它的目標(biāo)是開發(fā)出新的Ceylon SDK來代替Java SDK。

No.3:Go

Go是一門從應(yīng)用程序開發(fā)到系統(tǒng)編程都通用的程序設(shè)計(jì)語言。從某種程度上來說,它更像是C或者C++,但又像Java、C#一樣有垃圾回收機(jī)制,運(yùn)行時(shí)間映射及并行支持諸如此類的先進(jìn)特點(diǎn)。同時(shí),Go很容易編寫,它像C卻又沒有C的冗長古板。

Go開發(fā)團(tuán)隊(duì)想開發(fā)出一種愉快的編程語言,身為動態(tài)腳本語言又兼具編譯語言的特性。不過,Go目前還是在繼續(xù)開發(fā)中,對于它的應(yīng)用規(guī)則也隨時(shí)可能改變。此外,Google已經(jīng)開發(fā)出相應(yīng)的工具和編譯器。

No.4:F#

雖然函數(shù)式程序設(shè)計(jì)在計(jì)算機(jī)科學(xué)家及學(xué)術(shù)界里很流行,但是純函數(shù)式語言卻很難跟現(xiàn)實(shí)世界的軟件開發(fā)相結(jié)合。 微軟開發(fā)的F#是包含函數(shù)式和實(shí)際應(yīng)用的優(yōu)秀語言,它和其他CLR(公共語言運(yùn)行庫)語言使用相同的函數(shù)庫和特點(diǎn)。 不過F#有自己的更有趣的語法特點(diǎn),如豐富的數(shù)據(jù)類型會做科學(xué)的分類,還提供了一些設(shè)計(jì)有助于異步I/O、CPU并行化、卸載GPU的處理等。

現(xiàn)在微軟已經(jīng)在基于Apache開源許可證下開發(fā)了F#編譯器及核函數(shù)庫,大家可以免費(fèi)使用,甚至可運(yùn)行在MAC和Linux系統(tǒng)上。

No.5:Opa

Opa提出了一項(xiàng)嶄新的Web編程規(guī)范,而這或?qū)⒁慌e消滅其他大部分的編程語言。在Opa應(yīng)用程序中,客戶端的UI、服務(wù)器端的邏輯,以及數(shù)據(jù)庫中的I/O都可以用簡單的編程語言O(shè)pa執(zhí)行。它將客戶端和服務(wù)端的結(jié)構(gòu)框架綁定在一起。當(dāng)然,這還需要后臺特殊技術(shù)的支持。Opa的運(yùn)行環(huán)境是綁定了它的Web服務(wù)器和數(shù)據(jù)庫管理系統(tǒng),其中任一部分都不能隨意取代。現(xiàn)在,Opa對64位的Linux和Mac OSX平臺是開源,以后會有更多的接口來使用。

No.6:Fantom

Fantom是專門為跨平臺的移植而設(shè)計(jì)的。Fantom不僅包含了可以在JVM或者.NET CLI中運(yùn)行的編譯器,也包括了一系列從Java和.NET API中抽象出來的API,從而創(chuàng)建了一個(gè)額外的可移植層。 現(xiàn)在有更多的計(jì)劃要把Fantom 這種移植性蔓延開。 不過可移植性并不是Fantom存在的唯一原因。它在繼承一些像C這樣的特性時(shí),也提高了支持其它語言的質(zhì)量。

Fantom在Academic 3.0下開源,支持在Windows和Unix平臺上使用。

No.7:Zimbu

作為Bram Moolenaar的產(chǎn)物,Zimbu吸收了以前各種語言的特點(diǎn),目標(biāo)是成為一種快速、簡潔、輕便、易讀、可適用于從GUI應(yīng)用程序到OS內(nèi)核的語言。 由于Zimbu具備多種特性,而語法本身是獨(dú)一無二的。它不僅有著像C一樣的表達(dá)式和運(yùn)算符,也有自己的關(guān)鍵字、數(shù)據(jù)類型和分程序結(jié)構(gòu)。此外,還支持內(nèi)存管理、線程。良好的可移植性也是Zimbu的一個(gè)重要的特性。雖然Zimbu是編譯語言,但是它輸出的是ANSI C代碼。

不幸的,Zimbu現(xiàn)還處于初期階段。但是如果你有興趣體驗(yàn)的話,一些基本的工具在Apache 許可下已經(jīng)可以使用了。

No.8:X10

并行處理已經(jīng)成為了軟件開發(fā)的趨勢。因此,IBM研究院開發(fā)了X10來順應(yīng)這種趨勢,希望提高開發(fā)者10倍的效率。 X10使用全局地址空間分區(qū)(PGAS)的編程模式來進(jìn)行并行管理。代碼和數(shù)據(jù)以單位的形式被分開存儲,這有利于在處理器上高性能的將單線程轉(zhuǎn)為多線程。 將來X10還會實(shí)現(xiàn)跟Java的交互使用。

現(xiàn)在X10還在改善當(dāng)中,但是已經(jīng)相當(dāng)成熟了,在Linux、Mac OS X 及Windows等多種平臺上都可以使用。

No.9:haXe

haXe不僅是一門便捷的語言,更是在不同的操作環(huán)境間使用的跨平臺語言,從Native binaries到解釋器再到虛擬機(jī)。開發(fā)者可以在haXe里編寫代碼,然后將它們編譯成目標(biāo)代碼。haXe標(biāo)準(zhǔn)庫是這門核心語言的堅(jiān)實(shí)后盾,它能在每個(gè)目標(biāo)上分別運(yùn)行,然后再使用特殊目標(biāo)庫,從而來體現(xiàn)每個(gè)平臺的不同之處。haXe有一系列優(yōu)點(diǎn),而它最主要的優(yōu)勢莫過于將目標(biāo)平臺上所固有的問題給否定掉。雖然haXe現(xiàn)在還仍處于開發(fā)階段,但它的開發(fā)者已經(jīng)將其用到商業(yè)上和游戲工作室Motion Twin。在開源許可證下,它可適用于Linux,Mac OS X及Windows。

No.10:Chapel

Chapel作為Cray的第一門獨(dú)創(chuàng)性的編程語言,是為超級計(jì)算和集群而設(shè)計(jì)的。 Chapel的語法吸收多方的精華,除了通常的語言(C,C++,JAVA),它還從科學(xué)程序設(shè)計(jì)語言中借鑒概念,它的并行處理的特點(diǎn)則是受ZPL及高性能的程式語言的影響。 Chapel一個(gè)最吸引人的特點(diǎn)是支持“多重解析編程”。

Chapel的開發(fā)還在繼續(xù),F(xiàn)在,它可以在Cray的超級計(jì)算機(jī)和多數(shù)高性能的集群上使用,但它對大部分類似Unix系統(tǒng)來說也是相當(dāng)便捷的。源代碼在BSD開源許可下可使用。

那么,這些新語言中您關(guān)注過或用過的有多少呢?

關(guān)鍵詞:編程語言IT開發(fā)

贊助商鏈接: