首頁>Club>
9
回覆列表
  • 1 # 風信子視野

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

    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最偉大的地方。

  • 2 # 開發者

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

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

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

  • 3 # 就叫春哥

    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 # 一一哥Sun

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

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

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

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

  • 5 # 都市心聲

    作為一名曾經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也要做好心理準備。

  • 6 # 急速馬力快de原始碼控

    一,程式語言

    從程式語言本身來說,Java和PHP差不多,出現在同一個時代,Java首次推出在1995年5月,PHP在同年6月。

    兩種語言各有特點,20多年來都在不斷更新推出新版本,PHP現在最新版本7.4,官方計劃2020年底推出8.0版本。

    2009年Oracle收購Sun公司後,Java發展得到了大力支援,現在使用非常多的Java8釋出於2014年,當前最新版本是Java14。和早期版本相比,從Java8開始,吸收了越來越多的現代化程式語言的優點,比如lambda表示式。

    二,學習難度

    Java是一種靜態面向物件程式語言,繼承了很多的C++優點,功能強大、簡單易用、跨平臺可移植,具有多執行緒、分散式等特點。入門學習不難,隨著專案經驗的積累逐步提升進階。

    PHP是一種通用的開源指令碼語言,吸取了C,Java,Perl等多種語言的優點,在伺服器端執行,主要用於Web應用開發。

    三,發展前景

    考慮發展前景的話,推薦學習Java語言。Java是當前的主流開發語言,應用普遍,Web應用、電商系統、企業資訊管理等各種行業場景。

    Java社群非常活躍,各種文件和學習資料非常豐富。因為使用廣泛,所以很多同事朋友溝通交流。

    開發框架也是降低學習難度的有力工具,Spring框架是Java開發時常用框架,有非常豐富的元件和易用的功能,Spring Boot和Spring Cloud更是簡化了開發過程中的瑣碎工作,自動化配置依賴模組、開箱即用和約定優於配置,這些特點使得Spring框架在快速開發領域非常受歡迎。

  • 7 # 可愛的小老頭

    Java開發屬於是Java的全系列,而PHP是前端裡的一部分,為什麼前端要學習PHP和資料庫程式設計,雖然是純前端,但是如果不瞭解後端的一些機制和如何給我們提供的介面,對於日後前後端互動的理解則是越來越難。所以本階段為前後端互動打下基礎。

    如果想學好這些的話還是得去參加系統的培訓,尤其是Java開發,我比較推薦的一個培訓機構就是北京尚學堂,他們的課程特別的完整深入,後面還有就業輔導和就業推薦,找工作也不用發愁了,根本就不存在什麼難不難學,而是自己想不想學,有沒有興趣學,只要想學肯定可以學好學精的。

  • 中秋節和大豐收的關聯?
  • 記憶體條和固態硬碟這波漲價什麼時候是個頭?