其實這三種編程技術各有優(yōu)勢,我們大概可以從語言、平臺這二點來區(qū)分:
一、語言:
PHP:PHP產(chǎn)生與1994年,其語法混合了C、Java、Perl 和他自創(chuàng)的一些編程語法;PHP是嵌入在HTML中執(zhí)行的;它也是一種解釋性語言。早期的PHP并非完全的面向?qū)ο缶幊陶Z言,到了PHP4以后的版本才開始有了面向?qū)ο蟮母拍睢?/p>
JAVA:JAVA產(chǎn)生與1995年,JAVA語言和JAVA平臺統(tǒng)稱為JAVA;它語法與C語言和C++語言很接近,并且JAVA是面向?qū)ο缶幊陶Z言,JAVA是編譯性語言,可以先將JAVA源碼編譯成.class文件后,在JAVA虛擬機上解釋執(zhí)行。
.NET:在.NET中,多種編程語言支持開發(fā)如:VB、C#、F#等等,通常我們都在使用C#編程,C#是為.NET平臺專們打造的一種編程語言,產(chǎn)生與2000年。其語言語法和JAVA、C、C++相近,同樣也是一種面向?qū)ο缶幊陶Z言。C#同樣需要編譯為.dll文件,然后由.net框架中CLR編譯執(zhí)行。
語言區(qū)分:PHP、JAVA、C#這幾天語言最大的區(qū)別就是執(zhí)行方式的不同。其中還有一些語言本身的區(qū)別,比如是否為強類型、是否能動態(tài)編譯、是否為多線程、是否為分布式、是否可移值等等。至于很多人說的性能上的問題,我認為語言本身上的性能問題差異并不大,關建在于寫程序的人如何編寫的代碼。另外,在關于與語言結(jié)和的數(shù)據(jù)庫方面也有一定的區(qū)別,PHP通常使用MySQL數(shù)據(jù)庫,JAVA通常使用MySQL或Oracle,而C#因為是微軟的產(chǎn)物,通常使用與微軟相關的數(shù)據(jù)庫Sql Server或Access等,有時候也會用Sqllite數(shù)據(jù)庫。
二、平臺:
PHP:一般人在稱呼PHP的時候,本身并沒有平臺和語言的區(qū)別。我們用PHP往往只做WEB應用開發(fā),至于桌面應用程序的開發(fā),近年好像PHP出了這種開發(fā)平臺,但現(xiàn)實應用中幾乎看不到。但是不得不說,PHP在WEB的表現(xiàn)層應用中,有很好的表現(xiàn),不論從處理界面布局,或是性能上都有著不錯的優(yōu)勢。
JAVA:我們在稱呼JAVA的時候,往往說的并不一定是語言本身,而是指JAVA平臺。在JAVA平臺中,可以使用JAVA語言去開發(fā)各種不同的應用開發(fā),比如說:Java SE、Java EE和Java ME,分別用于開發(fā)JAVA桌面應用、WEB應用、移動應用等等。
.NET:在.NET這個體系中,語言和平臺是有明顯區(qū)別的,而且一個平臺上可以應用多種語言開發(fā),這樣就滿足了掌握不同語言的程序員可以開發(fā)同一個應用程序。在.NET平臺中,也像JAVA一樣,可以開發(fā)不同的應用,比如:WinForm(桌面應用)、控制臺應用、ASP.NET(WEB應用)、WPF(新的桌面應用)、WCF(網(wǎng)絡通信基礎應用)、WEB服務(面向服務編程應用)、ASP.NET MVC3.0(新的WEB應用)、XNA(桌面及手機游戲應用)等等。
平臺區(qū)分:三種技術平臺都可以做我們常用的WEB應用。對于桌面應用來說,PHP并不太適用,JAVA則沒有較好的桌面應用的開發(fā)工具,這方面.NET平臺有較好的優(yōu)勢,不論是Winform還是WPF,都非常適合做桌面應用程序。至于實現(xiàn)一些底層的復雜業(yè)務,PHP則不如JAVA和.NET,但是在做前端表現(xiàn)層的時候有著較好的優(yōu)勢。所以很多復雜的大型綜合應用,可能會有.NET或者JAVA做數(shù)據(jù)訪問層及業(yè)務邏輯層,PHP則用來做表現(xiàn)層。據(jù)所說淘寶就是基于這種方式開發(fā)的。同時,JAVA與.NET都是可以跨平臺的,.NET還能跨語言。
總結(jié):請注意,不論任何編程語言或技術平臺,并沒有好與不好之分,只有適合與否。在開發(fā)不同的項目時需要使用不同的技術。當然做為程序員初學者來說,需要從一種比較容易上手的編程語言及平臺學起,培養(yǎng)自己的學習能力、興趣;基礎打扎實,才能在以后日新月異的技術更新中不斷成長。
您可能感興趣的文章:- PHP和Java的主要區(qū)別有哪些?哪個最適合Web開發(fā)語言?
- java與php的區(qū)別淺析