Java開發和PHP開發哪個更難學啊?

一切只為了更好


很高興為你解答!

java要比PHP難學,原因如下:

1.java需要學習的東西很多,最基本的有下面這這些

(1)java基礎知識

(2)servlet,jsp,jdbc

(3)數據庫

(4)html,js,css

(5)spring ,spring mvc,mybatis,hibernate,struts

(6)spring boot,spring cloud

(7)redis

(8)消息隊列等這些最基本的,都夠你學一段時間

2.針對PHP:

(1)php基礎知識

(2)html,js,css

(3)數據庫

(4)think PHP框架學完這些,基本上就可以工作了

總之,java難度肯定是大於PHP的,需要結合自身的情況選擇學習。

希望我的回答可以幫助到你。


就叫春哥


作為一名曾經4天學會PHP開發,3天學會Java開發,並且曾多次回答過PHP及Java相關問題的擼碼老手,我來談談我的看法:

  • 開始兩者難度差不多,後來Java比PHP可能更難學。


往事回顧

剛看到這個問題的時候,其實感觸挺深的,為什麼呢?因為我曾經以go開發的身份進入了一家公司,然後在這家公司先後學會了PHP和Java,看到這裡可能有朋友就會噴我了,別人公司叫你來是幹活的,不是叫你來學其它語言的,其實冤枉,我也是被逼的。


1、與PHP的淵源

先來說說PHP吧,本來公司就是打算招go開發工程師進行項目開發,後來發現go開發太稀缺了,一時半會也招不到人,然後當時公司的其它同事又都是搞PHP的,所以主管決定就用PHP進行開發吧,因此我就陰差陽錯地被迫學習了4天,然後就開始參與做項目。


  • 其實那會我對PHP都沒聽過,所以當時是感覺有點後背發涼,畢竟每個人對於陌生的東西總是會缺少那麼點底氣,後來聽主管說其實跟C差不多,然後就沒那麼怕了,畢竟我也是C出身的,經過了幾天的熟悉,果然還是挺簡單的,做一些簡單的功能也是得心應手,畢竟PHP作為一門弱類型語言,真的非常簡單方便,不像其它語言那樣有嚴格的類型區別,所以很多想要快速成品的項目大都會選擇PHP開發。



  • 每一門計算機語言都會有方便開發的IDE工具,那麼我們當時的PHP開發工具就是PhpStorm,非常方便,並且 PhpStorm 完美支持 Symfony、Laravel、Drupal、WordPress、Zend Framework、Magento、Joomla!、CakePHP、Yii 等各種主流框架。


  • 每一門計算機語言一般都會有成熟的框架,PHP也不例外,所以我們當時就選擇了全能的Laravel框架進行開發,它不僅在web接口端很簡潔,還能自動創建數據庫表,其實在PHP界,Laravel的聲譽可是挺不錯的,把它稱作是為WEB藝術家創造的框架。


  • 除此之外呢,我們當時為了解決websocket的長連接通信,又請來了PHP界的另一尊大神——Swoole,它是一個面向生產環境的 PHP 異步網絡通信引擎,能夠使PHP開發人員可以編寫高性能的異步併發TCP、UDP、Unix Socket、HTTP,WebSocket 服務。



其實如果只是用PHP進行一般的項目開發,以上說到的這些東西全部學會了的話,基本就不成問題了。


2、與Java的淵源

經過半年的PHP開發,項目基本上線了,本想著該享受勝利的果實了,可是現實卻總是很殘酷,狠狠地甩了主管一臉,開發的項目不太適合那種請求量非常大的場合,即:高併發,後來經過協商,公司決定用Java重構一遍,當時此事還導致了一位同事辭職,因為他不想學Java,所以一攤子事全都倒向了我,於是浩浩湯湯地開啟了Java之旅。


  • 其實Java相對於PHP來說,我並沒有那麼陌生,畢竟以前在學校的時候學過一學期,只不過工作之後就沒再碰過,但是它作為一門面向對象的語言,當前熱門榜排行第一,並且多年霸佔榜首,可見其受歡迎程度不一般,於是我也是信心滿滿,自學了3天后就開始重構項目,一切也是順風順水,難度也不是很大。

  • 前面我們說到PHP有自己的IDE工具,那麼Java呢?那必須有啊,作為這麼受歡迎的語言,怎麼可能沒有方便開發者的工具呢,我們當時並沒有用老牌的eclipse,因為它太重了,而是用的比較輕巧方便的 IntelliJ IDEA,說實話,如果想學習Java開發,這個IntelliJ IDEA工具絕對是你的編程利器,務必要會用。


  • 前面我們也說到PHP有自己的框架了,那麼Java有沒有呢?當然有了,當時用的就是比較流行的springboot框架,它的出現可謂真的大大降低了Java入門的門檻,作為普通的開發者可以不用去了解springboot背後的原理,但是如果想進階為高級開發者的話,很多框架背後的秘密我們都要去探一探。


  • 其實Java的要求絕對是比PHP要高的,就算對於一個普通工程師來說所要學會的東西,絕對比PHP多得多,在這裡我也沒法一一詳細介紹,只能稍微例舉一下,比如:跟數據庫打交道的mybatis、websocket的框架netty、微服務框架springcloud、消息隊列rocketMQ、分佈式系統Zookeeper、分佈式框架Dubbo、遠程調用Rpc等等。


相比PHP,Java要會的東西可多了,不過一般也不會太難,並且Java的前景應該比PHP要好,市場也更廣闊,但是Java的更新速度很快,有時候舊的都還沒學會,新的可能就出來了,所以想學Java也要做好心理準備。


總結

通過往事的回顧,我將自己親身經歷吐露了出來,針對這兩門語言一開始怎麼學,學什麼也說了一個大概,我想誰難誰易,大家心中早已有了答案,但是我想說的是,不管學習哪一門語言,一定要走好這幾步:選好IDE -> 熟悉基本語法 -> 熟悉框架 -> 開發項目 -> 進階,希望我的答案能夠幫助到更多迷茫的人。


都市心聲


首先php確實是開發速度極快,為什麼?

因為弱類型(php7有類型聲明選擇開關,只要引入開關指令declare(strict_type=1)就會強制當前的文件下的程序遵循嚴格的參數類型,返回值類型),不需要定義返回的類型,加上php實際開發過程中喜歡運用它萬能的數組來做計算,返回。所以他的動態擴展性非常強,如果返回值結構改變,沒關係,直接改數組結構就行(注意,php數組太強大,可以當作map,list來用,底層的實現其實是hashmap)

而java可能要開發過程可能要慢一點,java面向對象的技巧,設計模式會運用的更多一點。需要定義各類model來適應你業務的需求。編寫風格會有一定的統一要求。強類型在編寫的時候會比php麻煩,但好處是更安全,因為類型固定,潛在風險較低,還有編譯器給你做了一次保障。



開發者


本人10年開發培訓經驗,期間經歷了Java Web,Android,H5,大數據,PHP等多個不同的方向的開發,也做過軟件培訓公司的金牌講師,很有興趣回答你這個問題。

Java和PHP是兩種不同的開發語言,但是兩者也有很多共同之處,比如兩者都可以開發web方向的項目,兩者的語言都屬於面向對象編程,兩者都有很多的框架要學習。那麼兩者對比起來,到底哪個更難學,雖不能一概而論,但是從大多數來分析,Java更難學一點。

Java作為面向對象的編程語言,它的語法規則更嚴格,要求更多,比php的面向對象限制的東西多。

然後Java體系裡,再學習web方向的技術,框架,分佈式的東西等等吧,然後java裡的很多框架都是半成品,沒有php裡的那些框架集成度高,php裡的很多框架很多直接拿來用就能直接開發,所以就有了”php是世界上最美的語言“這樣蜜汁自信的一說。

當然java雖然難學,但是它的生態系統是別的技術所無法比擬的,做web開發還是首選Java。君不知,國內做PHP培訓最有名的機構--兄弟連,都倒閉了,說明了什麼問題?用PHP開發的真不多!


我從事互聯網開發10年,主要的研究方向集中在Java web微服務架構領域,Android移動端研發,HTML5前端方向,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信你一定會有所收穫。

如果有Java,Android,H5等開發方面的問題,或者是開發求職方面的問題,都可以在評論區留言,或者私信我。


一一哥Sun


其實這個問題可以從三個方面來回答:

1.語法層

2.應用層

一、如何自學

從語法層來說,都是c語系。關鍵字,操作符,以及語句差別不大,都能跨平臺,都是基於解釋型的語言。

java是強類型,通用語言,可以用於客戶端,服務器端等各種環境。而php本身定位服務器語言,並且是弱類型語言。隨著時間的推移,你會發現,原本各種腳本語言越來越向面相對象,面相接口編程,並且逐漸向強類型過度的趨勢。

為什麼呢?因為現在的程序越來越複雜了,不是幾句增刪改查能解決的。各種框架是建立在設計模式,mvc,mvvm等思想理念上的,要求你的語言支持繼承,支持多態,支持數據隱藏等等。所以php也在改革,改得越來越像java了。而且大型程序,強類型有著天然優勢,例如編譯器錯誤檢查,函數簽名自解釋,內存使用量小非常多,等等等等(例如typescript現在優勢逐漸顯示出來了)。所以我的結論,如果你一開始學,還是選java比較適合。個人建議而已!我不想引起語言之爭!

從應用層來說,不管哪門語言,學了語法就是掌握格式而已,真正的應用是需要很多基礎知識

首先,肯定是數據結構要掌握,你不會抽象結構,不會一些基礎容器操作,那根本沒辦法走遠。其次,業務知識。如果你做服務器開發,那麼tcp/ip http等基礎協議至少要了解。各種常用類庫要會用。如過更加專業的領域,例如金融之類的,那麼還需要行業知識。然後,面相對象和設計模式一定要多瞭解,多學習,多模仿,多應用。當然這個是靠你自學以及經驗的,需要慢慢累積。就是一句話,多動腦,多動手,多查資料

關於如何自學:

我個人經驗是選定一個開源項目就不要換,深入瞭解。

一定要學會跟斷點,各種調試方法。

分析項目的各個模塊,各個類之間的關係,為什麼要這麼做

一定還學會google,baidu。拼命瞭解術語和關鍵字。建立對代碼的敏感性觸覺。

以你所學源碼為基礎進行知識的學習。任何知識都是具有延續性(上下擴展)和延展性(左右擴展),隨著時間的增加,你會積累越來越多知識。

反正一口氣吃成一個胖子.那是不可能的!

擴展資料:

java語言的歷史已經非常悠久,一直處於大哥地位。這一方面是因為他是眾多語言的基礎,比如現在比較火爆的android,java就是android的基礎。學習java的人,可以很快轉入android的隊伍,足以看出,java的靈活性。其次,現在大多數企業都以java作為主流語言,如果你經常上網的話,就可以發現,許多網站都是用java做的。為什麼呢?原因就在於,java適應性實在是太強了,任何一個平臺他都可以在裡面遊刃有餘。

1、java和php技術層面對比:

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

PHP屬於後起之秀,吸收了java和c以及perl等語言優點,專注互聯網領域。WEB領域PHP擁有得天獨厚的優勢,WEB領域沒有語言可以和他比。

兩者相比,基本上java完勝。但是其實並沒有太大的可比性,專注領域不同。單純拿兩者都可以做的WEB來說,PHP完勝。

2、java和php市場份額對比:

java語言算是古老,多年的發展,其在C/S領域和B/S領域都佔有一席之地,特別是在電信和銀行行業。但隨著社會需求的變化和其他語言的專注,java的市場正被一點點蠶食,WEB領域幾乎被PHP一統天下,嵌入式領域幾乎被C++一統天下,客戶端領域幾乎被C語言一統天下,要不是安卓的出現,java的命運還真不好說了。其之前積累的巨大java帝國不會一下子崩塌,一定是有一個過程。所以現在學習並不需要擔心其前途,現在學習你更需要擔心的卻是近十年間英才輩出的javaer,和大批正在進入java陣營的同業者。

PHP在市場描述就比較簡單了,因為我們只要看一個領域,那就是web領域。WEB領域php的市場超過80%,其餘的則是如java-JSP,asp,C#,.NET,python,ruby等。網站500強中有395家使用PHP。全球最 大的兩個網站facebook和新浪微博全在使用PHP。 兩者相比,算平分秋色。

3、java和PHP的發展空間對比

安卓勢頭很猛,但手機安裝app數量有限,推廣難,也是app面臨的最 大挑戰,好在安卓只有JAVA可以做,除此之外就是HTML5了。

中國人口占全球人口19.7%,中國網民佔全球網民22.4%,中國網站數量佔全球網站數量的0.5%,網站的可發展空間可謂巨大;發達國家互聯網對GDP的貢獻可達20%,中國互聯網對GDP的影響僅為3%。可謂互聯網的發展空間巨大,而互聯網離不開WEB,WEB離不開PHP。

兩者相比,個人覺得PHP的優勢更加明顯。

4、java和PHP的薪資對比

薪資事由供求關係決定的,人才缺失,薪資自然高,人才飽和,薪資自然不會高。

java由於大學基本都有這個課程,很多人想從事軟件行業的時候,自然就學習JAVA了,加上java近10年的火爆,人才輩出,整個java行業是處於供大於求的。南京地區:一個30人的java培訓班,最 後差不多10人找不到理想的工作而轉行,最 低薪資甚至只有1000多元,就有人肯幹。當然java學的好的,薪資4000多也是不少的。

PHP完全依託於市場的驅動,難點在於很多人並不瞭解PHP,也沒途徑可以瞭解,根本原因是大學沒有這個課程,我知道的,南京百十所高校只有曉莊學院開了PHP課程,而且不是作為主修。市場對PHP的需求,高校並不清楚,高校更願意推符合學院派特點的java。

學習php的人少,企業需求多,導致PHP薪資遠遠超過了同行業者。一般起薪沒有低於3000元的。南京地區高的早已經突破4500元。北上廣更是突破了6000元的起薪。

兩者相比:除了java工作難找,但只要找到了工作,高位線是差不多的,低位線JAVA明顯處於劣勢。

5、java和php的薪資漲幅速度對比:

java是公認的難,難上手,真正上手需要至少1-2年,而這期間都屬於學徒級別,薪資漲幅有限。2年後會有一個較大的漲幅,基本拿個6-7千是沒有問題的。

PHP是公認的簡單,上手極快,基本過了試用期就可以漲工資了,PHPer正常是半年漲一次薪資,前3年的幅度都還可以,1年5-6千,2年7-8千。3年能過萬的也大有人在。

兩者相比:其實php的前端優勢明顯,後段雙方區域持平。並不像很多人說的PHP後面難漲,PHP缺人,但更缺熟手。java也不像很多人吹噓的那樣高薪,兩級分化嚴重。其實也很正常,越難的語言,兩級分化越是嚴重。

6、java和php各自發展的瓶頸:

JavaEE體系曾經統治企業級軟件開發長達數十年之久,十年間英才輩出,但是Java語言本身卻越來越顯示出臃腫和分裂的態勢。使用Java是個昂貴的選擇,複雜的需求設計, 緩慢的項目進度,昂貴的應用服務器和維護難度使Java成為了一種廟堂之上的語言。而版本的分裂也使所謂的跨平臺特性成為了一句空話。

Java的特性使得它並不適合業務隨著市場快速變化的互聯網企業,WEB領域幾乎被PHP一統天下,嵌入式領域幾乎被C++一統天下,客戶端領域幾乎被C語言一統天下,要不是安卓的出現,java的命運還真不好說了。php的大中型系統開發,方便、快速、是java跟http://asp.net沒法比擬的, 還有php有很多如yaf,yii,ci等強大的框架, 中小型一般系統的開發,一個thinkphp就足於通殺java的ssh三大框架了。

PHP由於其簡單,快速開發等特點,也導致了開發複雜應用稍顯吃力,所謂成也蕭何敗也蕭何,PHP由於其關注應用層面,開發基本不需要考慮底層的東西,導致其開發快速,學習簡單;但也導致了學習PHP工作一段時間比較容易遇到瓶頸,PHP在5.3版本後加入了更為強大的擴展,通過PHP的擴展可以實現PHP本身實現不了的功能。

所以PHP開發遇到了這樣瓶頸,可以考慮通過擴展來解決,facebook和http://weibo.com正在大量使用擴展功能去應對一個又一個的難題。新浪微博架構師兼首席PHP技術顧問惠新宸一直在專注與PHP底層原理的研究和分享。擴展是被他認為PHP最偉大的地方。


風信子視野


JAVA開發適用更廣,大多企業的選擇,要說學習難度也是JAVA相對PHP難一點


分享到:


相關文章: