吳碩
java和php區(qū)別主要體現(xiàn)在語言結(jié)構(gòu)和使用的范圍上,對比如下: java是純面向?qū)ο箝_發(fā),功能強(qiáng)大,分支眾多,沒有java不能做的軟件。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。 PHP屬于后起之秀,吸收了java和c以及perl等語言優(yōu)點(diǎn),專注互聯(lián)網(wǎng)領(lǐng)域。WEB領(lǐng)域PHP擁有得天獨(dú)厚的優(yōu)勢,WEB領(lǐng)域沒有語言可以和他比。 兩者相比,基本上java完勝。但是其實(shí)并沒有太大的可比性,專注領(lǐng)域不同。單純拿兩者都可以做的WEB來說,PHP完勝。PHP和JAVA都屬于計算機(jī)編程的
馬漢
JAVA可以說是最熱門的的編程語言,對于很多高級語言來說,JAVA都是基礎(chǔ);另外一個,JAVA是跨平臺的,有多個方面的應(yīng)用,如Android、Swing、J2EE、J2ME等。就業(yè)面比較廣,市場用人需求也大。java多開發(fā)大型系統(tǒng),所以大型企業(yè)往往需要很多Java人才,這是其優(yōu)勢。
PHP主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用PHP開發(fā),PHP是開源的,這是使得PHP經(jīng)久不衰的原因。在電商、社區(qū)等方面,PHP具備非常成熟的開源代碼和模板,因此使得PHP應(yīng)用極為廣泛。劣勢是受眾較小,有可替代性。
梁武帝
JAVA可以說是最熱門的的編程語言,對于很多高級語言來說,JAVA都是基礎(chǔ);另外一個,JAVA是跨平臺的,有多個方面的應(yīng)用,如Android、Swing、J2EE、J2ME等。就業(yè)面比較廣,市場用人需求也大。java多開發(fā)大型系統(tǒng),所以大型企業(yè)往往需要很多Java人才,這是其優(yōu)勢。
PHP主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用PHP開發(fā),PHP是開源的,這是使得PHP經(jīng)久不衰的原因。在電商、社區(qū)等方面,PHP具備非常成熟的開源代碼和模板,因此使得PHP應(yīng)用極為廣泛。劣勢是受眾較小,有可替代性。
虞翻
PHP和Java都是現(xiàn)在比較流行的二種編程語言。對于許多新手來說,都會思考如果學(xué)的時候,該學(xué)哪種語言呢?下面這篇文章給大家整理兩者的區(qū)別以及一些選擇建議,一起來看看吧。二、簡介PHP與Java作為兩種截然不同的程序開發(fā)語言,無論是技術(shù)層面還是發(fā)展空間,亦或是市場份額占比,都有著不同的表現(xiàn)方式,理念上的不同導(dǎo)致了Java和PHP在Web應(yīng)用開發(fā)上顯示了不同的結(jié)果。若要一定追根到底,深究PHP與Java究竟哪個更好?簡而言之:PHP是一種解釋執(zhí)行的腳本語言,語法和C語言類似,易學(xué)易用,不懂電腦的非專業(yè)人員稍經(jīng)學(xué)習(xí)也能使用PHP;而Java要先編譯成Class文件,然后在Java虛擬機(jī)上執(zhí)行,Java開發(fā)需要熟悉Java語法以及一些核心的架構(gòu),從而實(shí)現(xiàn)一種可復(fù)用的、跨平臺的軟件,Java比PHP要難學(xué)的多。那么PHP與Java在Web開發(fā)上又有何區(qū)別呢?哪個最適合的Web開發(fā)語言?三、 語言比較PHP是解釋執(zhí)行的服務(wù)器腳本語言,首先php有簡單容易上手的特點(diǎn)。語法和c語言比較象,所以學(xué)過c語言的程序員可以很快的熟悉php的開發(fā)。而java需要先學(xué)好java的語法和熟悉一些核心的類庫,懂得面向?qū)ο蟮某绦蛟O(shè)計方法。所以相對而言,php更好學(xué)一些。Java首先要編譯成字節(jié)碼.class文件,然后在java虛擬機(jī)上解釋執(zhí)行。Java的Web開發(fā)首先最容易想到的就是JSP(現(xiàn)在已經(jīng)到JSP2.0),原來的java的Web開發(fā)都是用servlet來實(shí)現(xiàn)的,用servlet來開發(fā)需要程序員在java的源文件中嵌入大量的html代碼。所以后來就出現(xiàn)了JSP,JSP可以方便的嵌入到html文件當(dāng)中,其實(shí)jsp文件在服務(wù)器上執(zhí)行的時候首先會被應(yīng)用服務(wù)器轉(zhuǎn)換成servlet,然后再編譯執(zhí)行。Jsp可以通過servlet和JavaBean的支持產(chǎn)生強(qiáng)大的功能。JavaBean 是一種可復(fù)用的、跨平臺的軟件組件。使用javabean可以方便的實(shí)現(xiàn)java代碼和html的分離,能夠增強(qiáng)系統(tǒng)的功能和軟件的復(fù)用性。Java的Web開發(fā)屬于SUN公司定義的J2EE其中的規(guī)范。而且在J2EE中包括了java的Web開發(fā)的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特別適合于做大型的企業(yè)級的應(yīng)用。四、技術(shù)架構(gòu)java是純面向?qū)ο箝_發(fā),功能強(qiáng)大,分支眾多,沒有java不能做的軟件。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。PHP屬于后起之秀,吸收了java和c以及perl等語言優(yōu)點(diǎn),專注互聯(lián)網(wǎng)領(lǐng)域。WEB領(lǐng)域PHP擁有得天獨(dú)厚的優(yōu)勢,WEB領(lǐng)域沒有語言可以和他比。Java語言相比PHP有明顯的優(yōu)勢,Java使用的是面向?qū)ο蟮南到y(tǒng)設(shè)計方法,而PHP還是采用面向過程的開發(fā)方法。PHP只能實(shí)現(xiàn)簡單的分布式兩層或三層的架構(gòu),而JAVA可以實(shí)現(xiàn)多層架構(gòu)。數(shù)據(jù)庫層(持久化層)、應(yīng)用(業(yè)務(wù))邏輯層、表示邏輯層彼此分開,而且現(xiàn)在不同的層都已經(jīng)有一些成熟的開發(fā)框架的支持。例如Struts就是利用Java的web開發(fā)技術(shù)實(shí)現(xiàn)了MVC的設(shè)計模式,而在業(yè)務(wù)邏輯層也有Spring框架,數(shù)據(jù)庫持久化層有Hibernate等框架。這些框架可以方便開發(fā)者高效、合理、科學(xué)得架構(gòu)多層的商業(yè)應(yīng)用。五、數(shù)據(jù)庫訪問速度比較Java通過JDBC來訪問數(shù)據(jù)庫,通過不同的數(shù)據(jù)庫廠商提供的數(shù)據(jù)庫驅(qū)動方便地訪問數(shù)據(jù)庫。訪問數(shù)據(jù)庫的接口比較統(tǒng)一。PHP對于不同的數(shù)據(jù)庫采用不同的數(shù)據(jù)庫訪問接口,所以數(shù)據(jù)庫訪問代碼的通用性不強(qiáng)。例如:用Java開發(fā)的Web應(yīng)用從MySQL數(shù)據(jù)庫轉(zhuǎn)到Oracle數(shù)據(jù)庫只需要做很少的修改,而PHP則需要做大量的修改工作。從數(shù)學(xué)運(yùn)算和數(shù)據(jù)庫訪問速度來講,Java的性能也優(yōu)于PHP。實(shí)際上,對于跨平臺的大型的企業(yè)應(yīng)用系統(tǒng)來講,Java幾乎已經(jīng)成為唯一的選擇(微軟.NET不支持跨平臺),但是在于Web網(wǎng)站應(yīng)用開發(fā)來講,Java卻面臨著被PHP邊緣化的危險,幾乎所有的虛擬主機(jī)都支持PHP+MySQL,而支持Java的卻少之又少,在資源上,網(wǎng)上有不計其數(shù)的PHP資源,很多著名的大型網(wǎng)站(例如Facebook、Mediawiki等)都是基于PHP的,而成功的Java網(wǎng)站卻寥寥無幾。盡管Java的數(shù)學(xué)計算和數(shù)據(jù)庫訪問都有優(yōu)勢,架構(gòu)也相當(dāng)完美,但是PHP卻可以簡單輕松地支持高強(qiáng)度Web訪問,能夠快速開發(fā)應(yīng)用,支持PHP的虛擬主機(jī)多如牛毛,使得用PHP開發(fā)一個網(wǎng)站比用Java開發(fā)一個網(wǎng)站要快得多,容易的多。Java所擁有的優(yōu)點(diǎn)只適合傳統(tǒng)的以軟件項(xiàng)目為核心的開發(fā)模式,而PHP更適合于以客戶為核心的SaaS的開發(fā)模式,因此,PHP目前在Web網(wǎng)站開發(fā)的優(yōu)勢完全是因?yàn)閃eb網(wǎng)站開發(fā)的特殊性而導(dǎo)致的,并非編程語言特性所決定。六、開發(fā)成本比較PHP最經(jīng)典的組合就是:PHP + MySQL + Apache。非常適合開發(fā)中小型的Web應(yīng)用,開發(fā)的速度比較快。而且所有的軟件都是開源免費(fèi)的,可以減少投入。Java的Web應(yīng)用服務(wù)器有免費(fèi)Tomcat、JBoss等,如果需要更好的商業(yè)化的服務(wù)有:Web Sphere和 Web logic。七、源代碼安全PHP開發(fā)的程序的源代碼都是公開的,他人拿到php開發(fā)的程序后都可以進(jìn)行修改。Java開發(fā)的程序,最后用戶拿到的是只是一些編譯好的class類,無法看到完整的源代碼,安全性高。八、總結(jié)綜上所述,個人認(rèn)為,PHP適合于快速開發(fā),中小型應(yīng)用系統(tǒng),開發(fā)成本低、易學(xué),能夠?qū)ψ儎拥男枨笞鞒隹焖俚姆磻?yīng),在調(diào)試、發(fā)布上,PHP也較Java簡單。而Java適合于開發(fā)大型的應(yīng)用系統(tǒng),應(yīng)用的前景比較廣闊,系統(tǒng)易維護(hù)、可復(fù)用性較好。Java的理念是“一次編寫,到處運(yùn)行”,Java在應(yīng)用框架底下的架構(gòu)是無與倫比的,遠(yuǎn)勝過其他任何語言,Java的框架利于大型的協(xié)同編程開發(fā),系統(tǒng)易維護(hù)、可復(fù)用性較好。還有,同樣功能的系統(tǒng)用Java開發(fā)的系統(tǒng)要比PHP開發(fā)的系統(tǒng)的價格要高。
李華梅
一、python虛擬機(jī)沒有java強(qiáng),java虛擬機(jī)是java的核心,python的核心是可以很方便地使用c語言函數(shù)或636f70793231313335323631343130323136353331333365666163c++庫。二、python是全動態(tài)性的,可以在運(yùn)行時自己修改自己的代碼,java只能通過變通方法實(shí)現(xiàn)。python的變量是動態(tài)的,而java的變量是靜態(tài)的,需要事先聲明,所以java ide的代碼提示功能優(yōu)于python ide。三,python的產(chǎn)生幾十年了,幾十年前面向過程是主流,所以用python有好多程序用的是面向過程設(shè)計方法,很多概念從c語言過來的,class在python中是后加入的,而java是為了實(shí)現(xiàn)沒有指針的c++(當(dāng)年com組件用的引用記數(shù),java用的虛擬機(jī)),主要采用面向?qū)ο蟮脑O(shè)計方法,很多概念是oop的概念。面向過程,相對簡潔直觀,但容易設(shè)計出面條程序,面向?qū)ο?,相對抽象?yōu)雅,但容易過度抽象。四,在實(shí)際使用的python入門簡單,但要學(xué)會用python干活,需要再學(xué)習(xí)python各種庫,pyhton的強(qiáng)大在于庫,為什么python的庫強(qiáng)大,原因是python的庫可以用python,c語言,c++等設(shè)計,再提供給python使用,所以無論gpu運(yùn)行,神經(jīng)網(wǎng)絡(luò),智能算法,數(shù)據(jù)分析,圖像處理,科學(xué)計算,各式各樣的庫在等著你用。而java沒有python那么多的開源庫,很多庫是商業(yè)公司內(nèi)部使用,或發(fā)布出來只是一個jar包,看不到原始代碼。python虛擬機(jī)因?yàn)榫幾g性沒有java的支持的好(或者說故意這么設(shè)計的),一般直接使用源碼(linux),或源碼簡單打個包(如pyexe)。五、python有很多虛擬機(jī)實(shí)現(xiàn),如cython,Pyston,pypy,jython, IronPython等等,適合用于業(yè)務(wù)語言,或插件語言,或面向領(lǐng)域語言,而java因?yàn)樘摂M機(jī)巨大,很少用于插件語言,發(fā)布也不方便。六、java主要用于商業(yè)邏輯強(qiáng)的領(lǐng)域,如商城系統(tǒng),erp,oa,金融,保險等傳統(tǒng)數(shù)據(jù)庫事務(wù)領(lǐng)域,通過類似ssh框架事務(wù)代碼,對商業(yè)數(shù)據(jù)庫,如oralce,db2,sql server等支持較好,軟件工程理念較強(qiáng),適合軟件工程式的多人開發(fā)模式。python主要用于web數(shù)據(jù)分析,科學(xué)計算,金融分析,信號分析,圖像算法,數(shù)學(xué)計算,統(tǒng)計分析,算法建模,服務(wù)器運(yùn)維,自動化操作,快速開發(fā)理念強(qiáng),適合快速開發(fā)團(tuán)隊或個人敏捷模式。七、java的商業(yè)化公司支持多,如sap,oracle,ibm等,有商業(yè)化的容器,中間件,企業(yè)框架ejb。python的開源組織支持多,如qt,linux,google,很多開源程序都支持python, 如pyqt,redis,spark等。八、python用途最多的是腳本,java用途最多的是web,pyhotn是膠水,可以把各類不相關(guān)的東西粘在一起用,java是基佬,可以通過軟件工程組成幾百個人的團(tuán)隊和你pk,商業(yè)化氣息重。不過我認(rèn)為還是python強(qiáng)大,因?yàn)榭梢苑奖阏{(diào)用c或c++的庫,但軟件工程和商業(yè)化運(yùn)作沒有java好,適合快捷開發(fā)。
紫金梭
先說一個事實(shí),php創(chuàng)辦者不準(zhǔn)備再更新了。php和java最多在服務(wù)器后臺端具有較大的競爭力。但實(shí)際上php占的百分比多,java雖少但權(quán)重大。簡單來說php小型網(wǎng)站(我們老師說php現(xiàn)在已經(jīng)變得大了,當(dāng)年php很小巧的,在服務(wù)器上占的資源很少)。java后臺大部分是大企業(yè)做的(大企業(yè)其實(shí)和(個人)小型網(wǎng)站相比還是比較少的。)java和php相比較。java比較強(qiáng)(原諒我表達(dá)自己的觀點(diǎn),我承認(rèn)php也不弱,只是個人相當(dāng)感覺來說)php也在發(fā)展(雖然創(chuàng)辦者不更新了,但相信應(yīng)該還是會有人去接手的) 。如果個人將來想搭建個人網(wǎng)站的話。php不錯。如果想多了解一些東西的話,java和c都不錯。編程語言只是一種工具,最后還得看使用工具的人是多么厲害了。
唐彬
php是解釋形的腳本語言,java是編譯型的,在java虛擬機(jī)下運(yùn)行當(dāng)然現(xiàn)在php也可以編譯腳本了php適合做網(wǎng)站后臺,java什么都能做。至于發(fā)展前景,看你選擇什么樣的工作,通常用java做網(wǎng)站的比較少,因?yàn)殚_發(fā)周期長,通常都是那些需要安全性較高的網(wǎng)銀或者淘寶之類的需要java來構(gòu)建后臺的交易系統(tǒng)。但java除了網(wǎng)站還可以做app,桌面軟件等等,基本沒有不能做的。php開發(fā)網(wǎng)站簡單,快捷,但通常只能做網(wǎng)站,或者為app提供網(wǎng)絡(luò)數(shù)據(jù)支持等,實(shí)際上還是做網(wǎng)站。很少用來干別的??偠灾?,如果你傾向于做網(wǎng)站后臺開發(fā)之類的工作,php比java好找工作,其他程序開發(fā),php和java就沒有可比性了。
孫仲
php是借鑒了多個編程語言的習(xí)慣而成的,而java則是由原來的sun公司搞出來的,用途非常廣泛,如網(wǎng)頁上用的jsp, 手機(jī)上跑的java程序,需要編譯,應(yīng)用程序等
滿寵
1、語言難易比較PHP是一種解釋執(zhí)行的腳本語言,語法和C語言類似,易學(xué)易用,不懂電腦的非專業(yè)人員稍經(jīng)學(xué)習(xí)也能使用PHP.而Java要先編譯成Class文件,然后在Java虛擬機(jī)上執(zhí)行,Java開發(fā)需要熟悉Java語法以及一些核心的架構(gòu),從而實(shí)現(xiàn)一種可復(fù)用的、跨平臺的軟件,Java培訓(xùn)比PHP培訓(xùn)要難學(xué)的多。2、技術(shù)架構(gòu)比較 從技術(shù)架構(gòu)來說,Java語言相比PHP有明顯的優(yōu)勢,Java使用的是面向?qū)ο蟮南到y(tǒng)設(shè)計方法,而PHP還是采用面向過程的開發(fā)方法。PHP只能實(shí)現(xiàn)簡單的分布式兩層或三層的架構(gòu),而JAVA可以實(shí)現(xiàn)多層架構(gòu)。數(shù)據(jù)庫層、應(yīng)用邏輯層、表示邏輯層彼此分開,而且現(xiàn)在不同的層都已經(jīng)有一些成熟的開發(fā)框架的支持。例如Struts就是利用Java的web開發(fā)技術(shù)實(shí)現(xiàn)了MVC的設(shè)計模式,而在業(yè)務(wù)邏輯層也有Spring框架,數(shù)據(jù)庫持久化層有Hibernate等框架。這些框架可以方便開發(fā)者高效、合理、科學(xué)得架構(gòu)多層的商業(yè)應(yīng)用。從數(shù)學(xué)運(yùn)算和數(shù)據(jù)庫訪問速度來講,Java的性能也優(yōu)于PHP.實(shí)際上,對于跨平臺的大型的企業(yè)應(yīng)用系統(tǒng)來講,Java幾乎已經(jīng)成為唯一的選擇。3、Java和PHP技術(shù)層面對比Java是純面向?qū)ο箝_發(fā),功能強(qiáng)大,分支眾多,沒有Java不能做的軟件。C/S也好B/S也好。從功能上講,沒有語言可以和Java相比。PHP屬于后起之秀,吸收了Java和c以及perl等語言優(yōu)點(diǎn),專注互聯(lián)網(wǎng)領(lǐng)域。WEB領(lǐng)域PHP擁有得天獨(dú)厚的優(yōu)勢,WEB領(lǐng)域沒有語言可以和他比。4、Java和PHP的發(fā)展空間對比 安卓勢頭很猛,但手機(jī)安裝app數(shù)量有限,推廣難,也是app面臨的最大挑戰(zhàn),好在安卓只有JAVA可以做,除此之外就是HTML5了。目前來說互聯(lián)網(wǎng)的發(fā)展空間巨大,而互聯(lián)網(wǎng)離不開WEB,WEB離不開PHP。兩者相比,個人覺得PHP的優(yōu)勢更加明顯。5、適用性比較PHP適合于快速開發(fā),中小型應(yīng)用系統(tǒng),開發(fā)成本低,能夠?qū)ψ儎拥男枨笞鞒隹焖俚姆磻?yīng)。而Java適合于開發(fā)大型的應(yīng)用系統(tǒng),應(yīng)用的前景比較廣闊,系統(tǒng)易維護(hù)、可復(fù)用性較好。還有,同樣功能的系統(tǒng)用Java開發(fā)的系統(tǒng)要比PHP開發(fā)的系統(tǒng)的價格要高。6、薪資比較 薪資事由供求關(guān)系決定的,人才缺失,薪資自然高,人才飽和,薪資自然不會高。從需求上看企業(yè)對Java人才的需求是比較大的,但Java方面的人太多,而PHP方面的人才要少很多,所以面上看PHP的薪資應(yīng)該要高一些,但Java只要學(xué)得好,薪資高的也很多,這方面還是看技術(shù)?! 】偨Y(jié)下:不管是PHP還是Java都是不錯的選擇,目前來說這兩種語言都還處在勢頭上,但是從長遠(yuǎn)出發(fā)還是Java好,畢竟從性能、處理數(shù)據(jù)各方面來看還是Java有優(yōu)勢一些,當(dāng)然最終選擇還是在你自己的手里。