java歧視php,java鄙視鏈

本文目錄一覽:

JAVA和PHP的區別是什麼呢?

PHP適合於快速開發,中小型應用系統,開發成本低,能夠對變動的需求作出快速的反應。而Java適合於開發大型的應用系統,應用的前景比較廣闊,系統易維護、可復用性較好。

通過對兩種語言寫的OA系統的比較,對這兩種語言的差異進行了一個全面的比較.

現在市場上的oa基本上可歸結為兩大陣營,即php陣營和java陣營。但對接觸oa不久的用戶來說,看到的往往只是它們的表相,只是明顯的價格差異,卻很難看出它們之間的實際差異。其實, PHP + MYSQL 不值錢不僅僅局限於oa軟件,而是整體上PHP + MYSQL開發的軟件都不如java開發的軟件值錢。為什麼PHP + MYSQL 的OA為什麼不值錢呢?首先得明白php和java之間的差異才行。

1、系統的技術架構比較

分層是將系統進行有效組織的方式,分而治之的思想是計算機領域中非常重要的思想。在好的分層思想引導下,便能實現“高內聚、低耦合”,也能將具體的問題割裂開來,易於控制、易於延展,更易於分配資源。PHP只能實現簡單的分布式兩層或三層的架構,而JAVA在這方面就十分強大,可以實現多層的網絡架構。運用MVC的設計模式,可使oa系統具有更加高效、合理的系統架構。技術架構的落後,使運用php編寫的oa軟件系統先天不足,而後天又無法補足其先天上的劣勢。使得系統在可拓展性、需求應變性上與JAVA編寫的oa軟件系統的差距越來越大。架構的差距,註定了php做的oa充其量是個小家碧玉,始終無法和java這種大家閨秀同台競技。

2、數據庫訪問比較

PHP可編譯成具有與許多數據庫相連接的函數。將自己編寫外圍的函數去間接存取數據庫。通過這樣的途徑當更換使用的數據庫時,可以輕鬆地修改編碼以適應這樣的變化。但PHP提供的數據庫接口支持彼此不統一,比如對Oracle, MySQL,Sybase的接口,彼此都不一樣。由於PHP對於不同的數據庫採用不同的數據庫訪問接口,所以數據庫訪問代碼的通用性不強。

而Java通過JDBC來訪問數據庫,通過不同的數據庫廠商提供的數據庫驅動方便地訪問數據庫,訪問數據庫的接口比較統一。如果同樣是將開發的web應用從MYSQL數據數轉到ORACLE數據,PHP需要做大量的修改工作,而且比較繁瑣。但JAVA開發的便只需要很少的更改便能實現。

數據庫訪問方式的差異,奠定了php開發出的oa和java開發出來的oa是馬車和火車的差距,前者只能亦步亦趨而且額度有限,後者卻是工業化的結晶,不僅能夠包容萬物而且速度上穩步提升。

3、安全性對比

在同是開源和跨平台的java面前,php丟掉了很多的優勢。在代碼的安全性上尤為突出。php的開發程序在別人拿到代碼後,可以很容易的進行修改。而java開發的程序由於無法看到完整的源代碼,只能看到一些編譯好的類文件,所以安全性較高。加之系統架構的優勢,在安全性上php和java是相去甚遠。

如果非要將php和java在安全性上做個比較的話,同一個小偷光顧php那是隨便拿來隨便改,想拿什麼拿什麼,拿的高興還能大筆一輝某某到此一游。而光顧java的時候,便會發現警察把守,內設自動報警裝置,即便突破重重阻擾後進入居室。那值錢的東西都放在加密後的保險柜中,只能望洋興嘆、鎩羽而歸。

4、前瞻性和拓展性

從整體來說,php適用於中小型系統,而java適用於大型系統。Php能夠將單一的事件做好,但卻不適合完成集成度較高的多項並發事件。為什麼說php適合中小型系統而不適合做大系統呢?

首先, php缺乏多層結構支持。而對於大型的系統負荷站點,只能採用分布計算。將數據庫、應用邏輯層和表示邏輯層彼此分開,並將同層的根據流量分開,組成二維數組。而php恰恰缺乏這種支持。

其次,PHP提供的數據庫接口不統一,要將多個不同的數據庫數據統一需要花費很大的力氣。而JAVA則沒有這種缺陷,可通過SUN Java的Java Class和EJB獲得規模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結構支持。如IBM的E-business,它的核心是採用JSP/Servlet的Web Sphere,是通過CGI來提供支持的。

如果將Php比作將才,具備獨擋一方的能力。那麼java便是帥才,具有較好的前瞻性和拓展性,整體布局和協同能力強。能夠指揮千軍萬馬,最後逐鹿中原。

5、開發成本比較

既然php在諸多方面都不如java優異,那麼php開發出的oa產品何以與java產品競爭呢?在於Php陣營普遍走的是低端路線,而java陣營走的是中高端路線。兩者之間交*的區域較小。

軟件價格的高低很大程度上和自身成本和功能相掛鈎。php的入門門檻較低,絕大多數學過c的程序員都很容易轉型為php程序員,這使得php程序員的泛濫成災的同時,低成本的php軟件產品也層出不窮。以PHP最經典的組合PHP + MySQL + Apache為例,由於所有軟件都是開源免費的,所以投入並不高。

而java開發需要特定的環境,成長為一個合格的java程序員需要一定的時間,java程序員的成本也是php成本的幾倍。Java的web應用服務器免費的有Tomcat、JBoss等,而要想具有很好的商業化服務便必須選用Web Sphere和 Web logic。這其中投入的成本無形中便超是php成本的N倍。所以,java開發oa的成本要遠遠高於php開發出來的同類軟件產品。但也正由於java開發的成本較高,很難實現抄襲和短期內逾越的可能,也使得java用開發出的產品門檻更高。

為什麼 Java 完爆 PHP

因為PHP還算是弱語言,相對於JAVA來講;

大量數據面前容易造成數據堆棧,容易溢出,造成數據錯誤,在這方面JAVA優勢就明顯了;

最主要的原因是,大型數據庫Oracle和JAVA都有強大的商業元素做背後推手,PHP就較少了,還有就是ORACLE數據庫對於JAVA就有很好支持,而PHP雖然也支持它,但優勢就明顯不如JAVA;

速度方面雖然兩者都可以編譯,但對於大量數據處理來講,JAVA編譯出來的CLASS文件更接近二進制碼,所以在這方面更勝一籌;

但JAVA有個致命傷,就是特別耗資源,所以如果在不考慮經費和資源和前提下,大型數據交換就要選擇JAVA了,但中小型網站PHP就要明顯佔優勢了。

從目前網站點個數講PHP就占絕對優勢;

為什麼程序員鄙視php?

主要原因是PHP程序員大多在接私活很忙吶!很難接私活的JAVA、C#程序員才會在論壇,qq群起鬨。

在工作中,很多公司隨着業務的增加與需求多樣性,有些企業就是要求用PHP開發,所以很多開發公司都是跟着市場走,主流的編程語言java與PHP碰面,多數情況下java程序員都不喜歡PHP程序員。

PHP號稱世界上最好的編程語言,在java程序員覺得PHP能開發的,java同樣能開發,而且比PHP還好,所以不認為PHP是世界上最好的編程語言,java才是世界最好的編程語言。

java面向對象在編程語言中支持是最好的,雖然PHP也是支持面向對象,但是在真正的大型項目中,多數人都會選擇java編程開發。

java在多線程高並發實戰效果是最好的,我們也知道PHP也是可以實現多線程高並發功能,但是這些都是針對中小型網站,像大型商城在線購物系統,java可以完美實現並滿足目前多人在線下單數量功能。

java編程語言複雜,需要大量學習精力,PHP編程語言簡單,在開發中不需要太多配置環境。

其實每種編程語言都有它本身的優勢與價值所在,當你正真領悟一種編程語言,你才知道這種語言的正真用處。

PHP跟Java有什麼區別?

一、技術區別

java是純面向對象開發,功能強大,分支眾多,沒有java不能做的軟件。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。但其優勢也是其劣勢。

PHP吸收了java和c以及perl等語言優點,專註互聯網領域。在WEB領域中PHP擁有得天獨厚的優勢,WEB領域沒有語言可以和PHP相比。

二、數據庫訪問區別

Java通過JDBC來訪問數據庫,通過不同的數據庫廠商提供的數據庫驅動方便地訪問數據庫。訪問數據庫的接口比較統一。

PHP對於不同的數據庫採用不同的數據庫訪問接口,所以數據庫訪問代碼的通用性不強。例如:用Java開發的Web應用從MySQL數據庫轉到Oracle數據庫只需要做很少的修改。而PHP則需要做大量的修改工作。

三、安全性區別

在同是開源和跨平台的java面前,php丟掉了很多的優勢,在代碼的安全性上尤為突出。

php的開發程序在別人拿到代碼後,可以很容易地進行修改。而java開發的程序由於無法看到完整的源代碼,只能看到一些編譯好的類文件,所以安全性較高。

四、開發成本比較

PHP在互聯網應用諸多方面都強於Java,那麼Java開發出的電子商務產品何以與PHP產品競爭呢?這在於Java陣營普遍走的是政府路線,

而PHP陣營走的是全民路線。Java在互聯網方面靠的是大學老師的言傳身教,才得以在互聯網世界狺狺狂嘯,而PHP是靠得是自身品質而得民心,所以才一路讚歌。

軟件價格的高低很大程度上和自身成本和功能相掛鈎。PHP的入門門檻較低,但是任何方面成為高手,都是萬里挑一。絕大多數學過c的程序員都很容易轉型為PHP程序員,這使得PHP程序員如同國球一樣普及,同樣更是高手如雲,高質量的PHP軟件產品也層出不窮。

服務器成本方面,PHP最經典的組合PHP+ MySQL + Apache,Java也是經常與MySQL +

Tomcat、JBoss等軟件配合。所有軟件都是開源免費的,所以服務器端的投入都並不高。

而Java程序員的學習成

本卻是PHP成本的幾倍,原因也很晴朗,本身Java就不是專門給WEB開發用的。所以,Java開發電子商務的成本要遠遠高於PHP開發出來的同類軟件

產品。但也正由於Java開發的成本較高,所以往往也是做一個同樣的產品,達到同樣的效果,Java需要付出比PHP開發多出N倍的時間及經濟成本。直接地造成了巨大的時間及成本浪費。

為什麼學JAVA的看不起學PHP的??

Java基礎是java SE,要學會基礎,必須掌握操作平台相關知識與基本計算機原理(進程、線程、進制、字符編碼、網絡通訊等等),基礎的面非常廣,而且Java是一門oo語言,又要求學習者掌握更多的設計模式,故爾比較難學。

php是專門針對web開發而設計的,單進程簡單的腳本語言。剛剛學習php的人,甚至連tcp與http協議不懂就能做出個網站來,可以說是非常簡單。

但請不要鄙視學php的人… 作為一個資深phper,php只是其基本技能之一。

資深的phper能做什麼:

1、框架設計(絲毫不次於J2EE的各種web框架)

2、php模塊擴展(一般基於Linux C++編寫)

3、Linux系統非常熟悉

4、關係型數據庫、對象型數據庫、簡單鍵值數據庫,多種數據庫能發揮其功效,協同運作。

5、前台腳本框架整合(比如用php與ajax交互或者與as等腳本交互),必須會寫前台腳本。

6、大訪問量下的並發處理、非阻塞型http服務器模塊擴展(nginx等)。

… … …

個人認為程序沒有誰強誰弱,誰好誰壞。就在我們公司來講,phper都看的懂java,javaer也都能看懂php,相互寫點代碼都不成問題,唯一不同的是對兩種平台的熟悉程度而已。

語言只是操作計算機的一種方法,計算機的基礎確實相同的。如果您寫10年以上的代碼,相信任何一門語言對你來講都只是個工具,而不會阻礙你最終想要的結果。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/243091.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:54
下一篇 2024-12-12 12:54

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論