{eval=Array;=+count(Array);}
首先,你說的PHP比Java開發速度快,這點是在業內達成共識的,Java薪資這塊普遍比PHP的高,開發效率反而更慢,這點也是實際情況。那為什么導致這種“倒掛”現象呢?在這里我們具體分析一下兩者的特點優劣:
1、開發速度上:
在開發速度上,PHP開發起來比Java要快,所以項目周期也會縮短。因為PHP內置函數庫是很強大的,它更適合做“膠水語言”,作為大前端開發語言是很合適的(因為前端邏輯可能會經常變動)。
2、性能上:
在小型項目上,PHP的性能高于Java性能(Java對于服務器硬件要求比PHP要高很多,占更多資源);但在大型項目上,Java的穩定性比PHP要強幾個檔次,性能上也是。總之PHP更適合只做中小型網站、或者大型網站的前臺。
3、安全性上:
PHP在安全性上雖比其它腳本語言高,但如果開發者不留意,還是容易形成很多漏洞,因為PHP本身是弱類型語言,而Java是強類型語言,在安全性上高于PHP。所以一般銀行系統都是清一色的Java。
綜上,PHP被人評價為“臟而快的語言”,Java則更權威一點。所以在大型項目上,更多的是會選Java而不考慮PHP,PHP只適合做網站型應用。Java在開發速度上較慢,但換來的是穩定性的持續。
什么叫開發效率?
如果指的是相同的功能,實現所需要的代碼量,那應該是php高。
但是一個項目的整體效率可不是按照單位時間內寫的代碼量來衡量的。
一個很重要的指標是工程化。
-java雖然語法啰嗦,但是工程化非常的好。
-又由于結構死板,開發自由發揮度較小,這恰恰能減少代碼的裂變。
-加上java的面向對象,可以從語法上切分代碼,避免面條代碼的產生(相對的)。
結構化的好處是,代碼結構相同,后面的開發來接手時能快速上手。或者別人改bug時也能快速定位。
從整個項目來看,可能php項目前期快,后期就慢了。java則反之。不過java可以通過整體結構化,來進行代碼生成,提高開發效率。具體請見我的文章
《Web開發框架推導》https://www.toutiao.com/i6527161616234971652/。
感謝邀約,從我國目前的形式來看,php的招聘崗位確實是越來越少,大公司也是越來越少用php呢?以下是我的觀點,僅供參考,歡迎大家指正:
php和MySQL是完美搭配,他們是天生一對,PHP操作MYSQL具有天生的優勢。
PHP和Apache、nginx是絕配,完美支持,代碼丟在服務器上,很快就能跑起來。
在數據操作上,我還沒看到哪種語言能像PHP那樣完美的操作數組,你都無法想象的操作,它都幫你想到了,大大節省了開發時間。
PHP天生就是為WEB而生,全球大部分的網站都是PHP寫的,尤其是國外,wordpress像神一般的存在,使用的人越來越多。Web開發相關的,只要你想到的他都有,比如:什么協議相關、請求響應、加密處理、各種流應有盡有。
社區資源、開源插件相當豐富,總有一款適合你的。
動態語言、弱類型的靈活度,加上PHP后來增強的類型提示,讓你很靈活的使用。
還有目前我認為很強悍的的PHP框架——Laravel 設計如此之完美和精妙,用上了,估計你就很難再愛上其他的框架了,相關的插件也很多,十分豐富。
雖然php有如此多的有點,為啥用不起來呢?這里不談論JAVA的優點,我們來看看兩者主要的區別:
1、語言特點的主要區別
PHP屬于弱類型語言,給予程序員的空間太大,語言太靈活,不好約束開發者;
Java屬于強類型,語法看似啰嗦,實則非常規范,教條,更容易標準化。
2、就業機會
現在越來越多的公司用JAVA,放棄PHP,造成了市面上JAVA的需求多于PHP。學PHP的人也越來越少。不管是在一線城市,還是在二三線城市,很多項目都要求JAVA,比如政府采購項目。
個人感覺不是php不行,而是大部分php開發人員都是自學成才,缺乏專業的理論學習,比如數據結構,設計模式、面向對象的思想、單元測試的經驗都是欠缺的,市面上針對PHP系統培訓的機構又比較少,在編程習慣和開發流程上,由于其語言太靈活太方便,造成了在多人配合時,如果團隊缺乏核心主力的情況下,用PHP寫出的程序在代碼結構、測試、項目人員溝通及代碼重用方面都會造成各種問題,很不利大型項目的管理和開發,除了這個方面,真正能夠把控PHP項目的人才很難找,能把PHP用好的公司并不多,除此之外學PHP的開發人員也越來越少,不得不說,目前PHP的局面是比較尷尬的。
今天的內容就和大家分享到這里,雖然PHP的效率開發高,但是我們不得不承認效率高,是有代價的,換來的就是在企業級大型項目上的弱勢,畢竟現在一個項目是多人完成,很多公司寧愿犧牲效率,換取可持續規范性穩定和安全性。
感謝大家閱讀,如果你有什么好的想法歡迎到留言區分享交流,如果你贊同我的回答,歡迎給個贊和轉發,謝謝支持。
請問你是怎么得出效率高這結論的?
Java只是語法上有點啰嗦,但不代表它開發效率比PHP低,特別是各種開源框架加持下,效率也很快的。
一個是編譯型語言,一個是腳本式語言,Java的應用場景比PHP大得多,Java可開發客戶端、服務端應用,客戶端又包含手機端,而PHP主要開發服務端應用,主要是單向網頁。
調試上Java能斷點調試,PHP還需要依賴輸出來調。
同時Java對硬件的調用能力比PHP強很多,在早期版本PHP連推送都很難實現。
此外,編譯型語言特點使得Java更容易打包成庫分發,再加上開源特性,容易大規模傳播,雖說PHP也有包管理,但其開源社區規模也不是可與Java比的。
另外,在職場上的就業機會、程序語言的使用率和熱度,Java比PHP大很多,也促使更多人偏向選擇Java。
最后在語法上,Java更接近傳統編程語言,更容易上手。
綜上所述,Java比PHP更受歡迎。
Java自身生態比較完善,解決各種場景下解決方案都比較成熟,小到單體應用,大到服務拆分,微服務都有成熟的,經過業界考驗的方案。
性能、安全性
1. PHP即寫即用。代碼發生改變,馬上就可以看到效果。Java就遠沒有這么靈活,代碼改變后要編譯、重啟jvm,增加了時間消耗,JVM重啟也會造成用戶響應中斷。
2. Php的看起來思路清晰。字如其義比,echo "hello world"就是輸出hello world,而java則不同,你可能是寫response,或者在session中,也可能就是返回了該字符串,然后不知道怎么的,它就顯示到頁面上了。
3. Php代碼效率高。Php的高效是顯而易見的,你不考慮后期的性能和用戶量問題的話,實現一個需求那是很快的,甚至不用框架,直接寫也會非常快。一個增刪改查功能,三五幾十行代碼就搞定了。而java就慢多了,首先要想一下用什么框架,目前基本上就是spring了,然后就是配置各種數據庫,過濾器,servlet,依賴,決定是用mybatis還是hibernate,然后考慮代碼之間的傳遞、事務管理, 然后不停調試,一改代碼可能就是幾分鐘的等待時間,可想而知。
4. Php占用資源少。php是進程式處理問題的,占用內存相當少,可以說,你在一臺機器部署50個項目沒有任何問題,只要訪問量不上來,搞得定。而java就不行了,java每啟動一個項目,本身就得耗盡許多內存,比如在一臺8g內存的機器上,一般跑上2個項目就差不多了。
Java:
1 . java組件多。我個人覺得單是這一點就蓋過其他所有優點了,因為組件多,意味著用的人多,群眾的眼睛是雪亮的。所以,java一定是好的,它已經積淀了太多的東西,不是一門新型語言能夠隨便替代的。你想要做什么,好好搜索java組件,可能都有你需要的功能,特別對于當下最流行的大數據產業,java更是占據一方。而php在這種場景就有點無能為力了。
2 . java線程池,連接池,異步化方便。其實這一點和第一點也很相似,也是因為組件多,所以要使用線程池連接池都很方便,這對于高并發高性能的場景來說,是絕對必要的。因為java的運行原因就是多線程的,所以不用每次都去初始化很多基本的東西,這省去了太多的時間,也因此大家可以忍受服務器啟動的緩慢過程,因為只有一次。而php則是多進程的,每次都需要重新加載所有需要的代碼,也因此無法將一些常用數據保存在內存,連接池也不大好做,異步操作更是一個大短板。
3 . java是真正意義上的邏輯清晰。因為,java中,你可以從一個進入可以借助IDE工具分析到最深層次的邏輯操作,對于每個字段,都可以清晰明了,這其實是接口和完全對象的一個使用優點。而php則做不了或者說很少有人費那勁去做這種事情,php可以說是半面向對象半面向過程開發,所以,在調用過程中插入幾個自定義的函數調用是很正常的,那么你再想通過簡單的IDE去分析調用鏈就不那么容易了。比如,對于第三方提供的接口,php就很難清楚的看出接口返回了什么,除非你把它打印出來,但是打印出來也不一定對,因為有些返回值的數據不一定有體現。這對于理解代碼來說,增加了一個大大的門坎。
4 . 雖說java編譯比較煩,但是可以為你提前發現錯誤。java的編譯的確比較耗時,但是如果有明顯的錯誤,編譯是不會通過的,這就給你一個重新檢查代碼的機會。而php則不會,不管你寫得多爛,都不會給你提示什么,而許多時候,往往就因為少寫了個;分號,導致你排查數小時。
5 . java遠程調用方便,rmi,hessian,dubbo。不管怎么樣,遠程和本地調用都很方便的知道相關的信息,而且java的同語言調用不是采用純粹的http調用,而且維護一定的連接,從而大大提高性能。而php也有遠程調用,但是相對來說就弱許多了。
php和java基本區別是,java是全面性語言(桌面、手機、服務器、控制臺、圖形界面),php設計是為服務器腳本輸出。
高級語言有很多,和Java同樣優秀的語言也有很多,它們并沒有本質的區別,但是Java的優秀就在于Java到處都是規范,整個JavaEE體系都是規范,在這個規范之下,偉大的輪子就讓偉大的程序員去創造,全世界的程序員共同創造了Java無以倫比的生態環境。
第一,Java 本身知名度高,隨便問人,非業內資深人士,有幾個知道php 的?并且大學計算機專業的學的編程語言就是java ,這就造成了Java的從業者更多,更具有普遍性。
第二,Java應用范圍更廣,web,桌面級,人工智能,大數據等等方面都有涉獵且都很成熟主流,php比較局限了,更多的還是web,即便也可以做其他領域,但就很非主流了。
第三,大型公司的應用很重要,大部分大型公司用的主要語言都是Java,原因很多,比如曾經的php 和java 在性能上就不是一個量級,總給人以只能干小活,無法承載做大之后的業務,即便現在迎頭趕上,也已經晚了,局面已經形成了嘛。長期形成的觀念沒那么容易變過來。并且java 有著成熟穩定的大型公司維護,就跟風而言,大公司都用的語言,小公司直接跟風就好了嘛!就像前些年很多小公司都學uclouducloud的狼性文化,在老板的眼里學寓意著也可以成為像那樣的大公司[捂臉]。并且java 深耕的更久,從業者眾多。更有規模性,比如10位Java從業者離職了,入職新的公司,在一些小公司技術選型的時候,自然的是使用Java,而非他自己也只聽過名字的php 。愈少越少的道理。
第四,隨著傳統互聯網行業的衰落,php 這一專注web領域的語言就隨著行業的衰落而落寞。一個公司業務未來的也許方向更廣,為什么不選擇應用場景更廣闊的語言呢?
php確實效率比java高出很多,同樣的項目php只要7天,而java可能要15天之多,并且同樣一個項目的實現,java的報價卻要比php更貴。
那為什么公司依然喜歡招java人員?相比php,java有兩個非常主要的優勢,一個是安全,另一個是性能,20多年的積累,java已經非常穩定安全,不僅有成熟的框架加之優秀的性能,java依然是不二之選。
總結隨著公司的發展越做越大,最終都會選擇java,因為php適合敏捷開發的創業公司,而實現大項目依然選java。
如果擬人的話,Java是學者,做什么事情都一板一眼的,嚴謹但是略顯啰嗦冗長;PHP是流氓,只要管用就行,用板磚能迅速解決問題的話絕不去拿槍打,用槍要上子彈要瞄準,而且還貴。
語法方面,表達復雜數據結構,Java有好幾種,PHP則一招鮮吃遍天——數組。Java變量強類型,PHP類型松散。諸如此類的區別多了,就在開發迭代的效率上體現出差別了。
至于什么Java適合開發大型網站,PHP框架多之類話那都是幾年前的梗了,不要在意。
現在的開發都講究前后端分離,大前端有vue等的技術,前端的開發速度很快了。Java在springboot的框架下,后臺開發所需要的,開發速度,性能,安全,組件完整,每一樣都是
優秀的。
10
回答10
回答0
回答0
回答1
回答10
回答10
回答0
回答10
回答2
回答