Java
??????? Java語言是一門非常純粹的面向?qū)ο缶幊陶Z言,它吸收了C++語言的各種優(yōu)點(diǎn),又摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個(gè)特征。Java語言作為靜態(tài)面相對象編程語言的代表,極好的實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程開發(fā)。
java前生今世
???????Java語言眾所周知啦,那個(gè)咖啡的圖標(biāo)一直以來讓人津津樂道。其實(shí)Java語言的誕生有一定的戲劇性,并不是經(jīng)過精心策劃、制作,最后產(chǎn)生的劃時(shí)代產(chǎn)品,從某個(gè)角度來看,java語言的誕生完全是一個(gè)誤會(huì)。
???????1990年年末,Sun公司預(yù)料嵌入式系統(tǒng)將在未來家用電器領(lǐng)域大顯身手。于是Sun公司成立了一個(gè)Green計(jì)劃,準(zhǔn)備為下一代智能家電編寫一個(gè)通用控制系統(tǒng)。小組最初使用C++語言,但是許多成員發(fā)現(xiàn)C++和可用的API在某些方面存在很大問題,而且小組的使用的是嵌入式平臺,可用的系統(tǒng)資源很有限,C++太復(fù)雜,更缺少垃圾回收系統(tǒng)、可移植性、分布式和多線程等功能,so,boom!Java出來了!想的美!java還沒有出來,出來的是一種名叫Oak的語言,由于Oak商標(biāo)被人注冊了=-=,后來才該名字叫Java。
???????現(xiàn)在Sun公司被Oracle公司收購,Java由于很強(qiáng)大的跨平臺,簡便等優(yōu)勢仍被大幅使用?,F(xiàn)在我們的是已經(jīng)很成熟的Java開發(fā)技術(shù)了。
Java競爭對手簡介
C#
???????當(dāng)年Microsoft也一度加入到Java語言陣營中,曾經(jīng)在Visual Studio中添加了Visual J++,希望大力發(fā)展java。然而Sun公司就和他打官司嘍,最后你懂得咯,Microsoft就自己干自己的,退出了.NET平臺,并發(fā)布了C#語言。
???????C#和Java都對傳統(tǒng)C++艱深、晦澀的語法和語義進(jìn)行了改進(jìn)。在語法方面,兩者都摒棄了C++中函數(shù)及其參數(shù)的const修飾、宏替換、全局變量和全局函數(shù)等華而不實(shí)的地方;在繼承方面,兩者都采用了更易于理解的單繼承和多接口的實(shí)現(xiàn)方案;在源代碼組織方面,都提出了聲明與實(shí)現(xiàn)于一體的邏輯封裝。
???????相對于Java語言,C#也有其獨(dú)特的優(yōu)勢:Microsoft提供的Visual Studio開發(fā)平臺可以極好的提高C#程序的開發(fā)效率,而且Microsoft要比Java更善于利用Windows平臺,當(dāng)使用C#創(chuàng)建Windows服務(wù)、記錄windows事件日志、訪問windows注冊表時(shí),.NET確實(shí)更方便。
???????Java的設(shè)計(jì)宗旨是獨(dú)立于任何平臺,自然不會(huì)提供太多的windows特性。但這也正是Java語言的優(yōu)勢:跨平臺。對于一個(gè)企業(yè)應(yīng)用而言,永遠(yuǎn)無法確定這個(gè)應(yīng)用需要在怎樣的平臺上運(yùn)行,如果你一旦選擇了C#語言,那么你的應(yīng)用就只能局限在windows平臺上。因此,對于一個(gè)開放式的企業(yè)應(yīng)用而言,通常會(huì)選擇Java作為開發(fā)語言,而不是C#。
Ruby
???????Ruby是由日本人松本行弘著手研發(fā)的,歷時(shí)兩年,發(fā)布第一個(gè)版本。ruby是一種非常簡潔的解釋型語言,一種純粹的面向?qū)ο缶幊陶Z言,甚至比Java更純粹--在Java語言里,還有基本數(shù)據(jù)類型等不是對象的變量,而在Ruby語言里,一切都是對象。
???????相對于Java,Ruby語言最大的特點(diǎn)就是簡潔,首先它是一種弱類型的語言,變量無需聲明,沒有類型,因此Ruby的變量可以保存任何類型的數(shù)據(jù);其次他還提供了強(qiáng)大的正則表達(dá)式支持,并支持運(yùn)算符重載等等等等;其次Ruby也是完全跨平臺的,可以再任何操作系統(tǒng)上運(yùn)行。
???????2004年,Ruby語言陣營里出現(xiàn)了一個(gè)優(yōu)秀的MVC框架:Ruby On Rails,這個(gè)開發(fā)框架被宣傳成現(xiàn)有企業(yè)框架的一個(gè)替代品。它是一個(gè)真正意義上的敏捷開發(fā)框架,他提供了大量代碼生成器,通過使用這些代碼生成器可以極好地提高應(yīng)用的開發(fā)效率。
???????關(guān)于Ruby框架和Java EE平臺其實(shí)是各有優(yōu)勢的。Rails平臺的簡潔性、易用性會(huì)在中小型應(yīng)用上發(fā)揮出更大的吸引力;但Java EE平臺提供了更多的選擇,適合對技術(shù)有精準(zhǔn)把握的開發(fā)者,用于解決有復(fù)雜需求的大型系統(tǒng)企業(yè)級應(yīng)用。