<track id="c9je9"><strike id="c9je9"></strike></track>

      學Java還是學大數據?學JavaEE還是學大數據?

      學Java還是學大數據?學JavaEE還是學大數據?

      一、首先,請理解Java這個詞,對!Java這個詞

      很多人在問學java還是學大數據好這個問題時?保守估計有90%的概率他連Java到底指的是什么都不太清楚,所以,在探討文題之前,咱們先來厘清一下Java這個概念。

      Java是一種編程語言,什么叫編程語言?講白了,就是一種用來編寫程序的語言。咦~~~好像有點廢話的趕腳是吧,那這樣,我舉個例子

      我想讓我親愛的電腦幫我做一件事:給它一串任意的數字,比如:14,18,30,16,60,10,讓它幫我從這串數字找出其中的最大值。

      此時,你如果把上面的意圖對著計算機去說(甭管你是柔情似水地說,還是歇斯底里地喊),我相信,它肯定無動于衷;

      那么,該怎么樣才能讓計算機乖乖聽話幫我做這件事呢? 需要寫一個程序給他!所謂程序,就是一套做事(或者說解決問題)的流程,你把這套流程交給計算機,它就能一板一眼地按照你設計的流程(就是程序)去干活,得到你想要的結果。而且,這一套流程(就是程序)

      比如,我們用如下方案就可以讓計算機找出最大值來:

      1. 弄一個變量x,先讓這個變量等于這一串數字中的第一個值
      2. 然后看下一個值是否比第一個值大,如果大,就把這個值替換掉變量原來的值;然后繼續往下一個數走
      3. 循環操作第二步,直到這一串數字的最后一個。那么,在結束時,變量x的值就一定是這一串數字中的最大值

      好,這就是給定一串數字后尋找最大值的一套方案,不過這一套方案怎么交給計算機呢?直接把上面的人類的文字復制到計算機里面,它能理解么?No!必須用一種計算機能理解的語言來編寫!重點,敲黑板,這個計算機能理解的語言,就是所謂的編程語言。當然,直接用計算機能理解的語言去寫你的程序,會很痛苦,因為那種語言(匯編語言)離人類的自然語言相差真的太大了,好在,有各種大牛,利用計算機能理解的語言(匯編語言),寫好了一些很特別的程序(編譯程序),這種編譯程序,能理解一些更高級(更接近人類語言)的語言,然后把這些更高級的語言(比如Java,比如PHP,比如Python等),翻譯成計算機的語言去讓計算機執行,它就相當于在計算機和我們這種編程人員之間的一個翻譯官。

      而這種編譯器有很多類型,所以我們這些編程開發工程師也就分化出了各種各樣語言的開發工程師,有Java開發工程師,有Python開發工程師,有C++開發工程師等等

      學Java還是學大數據?學JavaEE還是學大數據?

      綜上所述,咱們總算可以得出一個結論了,所謂Java,就是一種編程語言,所謂Python也是一種編程語言,所謂C++,所謂Go,所謂Scala皆如是。而且你只要學會了一門語言,其實其他語言都能很快觸類旁通,因為它們半斤八兩,大差不差,就比如上面那個找最大值的程序,用Java語言寫,大體上是這樣:

      int[] arr= {10,20,30,15,60,8};
      int x = arr[0];
      for(int i=1;i<arr.length;i++){
         if(arr[i]>x)  x=arr[i];
      }

      用Python語言來寫,大體上是這樣:

      arr=[4,56,20,4,100,-40]
      x=arr[0]
      for i in range (1,len(arr)-1):
          if x<arr[i]:
             x=arr[i]

      理論上,甭管你用什么語言,都能應付絕大多數領域的編程需求;

      二、接著,請理解Java和JavaEE,以及大數據

      社會上常常會聽到一些外行對另一些外行講,“學大數據不是學java”,或者:“學大數據需要先學java,大數據是java的進階,沒有學好java怎么能學大數據”,又或者“學python才能學大數據”,云云

      這些說法,就像一堆小學知識水平的人在議論哥德巴赫猜想或者量子力學,嗯,沒錯,就是這樣

      他們口中的所謂java,其實指的是JavaEE,他們把Java錯誤地等同于JavaEE,把Java錯誤地等同于JavaEE!

      JavaEE是什么?是java這門編程語言的一種應用領域,一種應用領域,就是開發web程序的領域!java是一門編程語言,它可以用于很多很多的編程領域好嗎? 如果用它來開發web程序,那就叫做Javaee開發;如果用它來開發手機上的程序,那就叫App開發;如果用它來開發桌面圖形程序,那就叫GUI程序開發;如果用它來開發海量數據處理程序,那就叫大數據開發! 好嗎? 好嗎?

      就像你學習了中文,你如果拿它寫段子,那就叫段子創作;如果你用它來寫小說,那就叫小說創作;如果你用它來寫詩歌,那就叫詩歌創作!這些都只是中文的不同應用領域而已,好嗎?好嗎?好嗎?!誰告訴你寫詩歌需要先學段子?誰告訴你寫段子需要先學會寫詩歌?誰告訴你寫小說需要先回寫詩歌?誰告訴你寫詩歌需要先學會寫段子?不存在的,好嗎!倒是說,不管你要寫段子,還是寫詩歌,還是寫小說,你都得先學會一門語言,比如中文!好嗎?理解了嗎? did you get?

      結論來了

      Java是一門編程語言,它是很基礎的東西,是屬于基礎技能;

      JavaEE開發是Java語言的一個應用領域:開發web程序;

      大數據開發也是Java語言的一個應用領域:開發海量數據處理程序;

      領域的區別,只是在各自領域有各自的一些特別的上層工具,但是貫穿始終無處不在的是共同的Java語言

      所以,學大數據是要學java,學javaee也要學java,但絕對不是說學大數據要先學JavaEE

      所以如果大數據的培訓課程中JavaEE的比重很大,有兩種可能:一是大數據本身的師資不足,為了湊課時,用JavaEE頂替一部分;二是培訓時間太長,費用很貴,課時太多,所以盡可能多填充一些內容。

      學Java還是學大數據?學JavaEE還是學大數據?

      三、現在,我們可以正式討論究竟是學JavaEE好,還是大數據好

      首先,這兩者都只是基于java語言(也就是所謂javase)的不同編程領域,你學哪個都能學習到java語言的編程技能;從這個角度來說,兩者并沒有優劣之分!

      其次,javaee和大數據,畢竟是兩個不同的領域,那么,在就業方向上就會有區別,在就業薪資,發展空間上也會有區別;

      • javaee是一個發展了20多年的領域,技術成熟度高,經驗豐富的從業人員多,一個新人進入這個領域,除非極有天賦的人,否則很難在你的圈子里嶄露頭角,難以突出,也就只能拿個普通的薪資;
      • 大數據則相對來說年輕很多,也就是近四五年開始發展起來,屬于一個新興但前景廣闊的領域。這個領域中新事物不斷涌現,比如在四五年前hadoop技術火爆全球,而最近這三四年,則由spark獨領風騷,而今年,flink技術又異軍突起。所以,在這個領域中,大部分的人都還談不上資深從業人員,那么,一個新人進入這個領域,你的突出機會可以說層出不窮,無時不有!這樣,你就更容易獲取“超額收益”,拿到更高的薪資收入。

      第三,從學習難度來說;

      • javaee的學習,因為這個領域已經發展了20多年,所以其技術內容非常之繁雜,學習時,從前端到后端,從代碼到數據庫,從工作流引擎到搜索引擎,幾乎無所不學,相對于6個月的培訓周期來說,基本上對每個知識模塊都只能做到蜻蜓點水走馬觀花,還沒有真正鞏固上一個知識點呢,下一個新知識點又來了,疲于奔命,浮于表面。所學,不僅學習難度大,而且這種走馬觀花式的學習根本無法真正提升自身的編程技能,對自己未來的成長也極其不利!
      • 大數據的學習,因為發展時間尚短,所以其技術內容相對比較集中。學習大數據的最核心技能,其實就是把java語言用得熟之又熟,而在上層框架的應用上,主要就是hadoop、spark、flink。所以,學的東西不那么雜,那么在6個月的培訓時長內,就可以讓你在每一個知識模塊上由淺入深,由生疏到熟練地進行反復打磨, 一方面掌握了大數據的開發技能,另一方面更是真正鞏固了自己的編程技能,對自己未來的職業發展注入雄厚的潛能!

      結論來了

      學javaee和學大數據,都不差,因為這兩個領域都是基于java語言的開發應用領域,而java語言衍生出來的軟件體系,是全世界軟件領域中不可撼動的根基般的存在。但是,如果從學習難度、學習回報以及對未來發展的幫助這幾方面綜合考慮來看,顯然,學大數據是一個更好的選擇。簡單一句,學個技術,難道你不學一個新的,還非要去學個舊的?

      更多信息

      聯系我們

      19910713760

      在線咨詢:qq號: 83544844

      郵件:19910713760@qq.com

      工作時間:周一至周五,9:30-18:30,節假日休息

      關注微信
      亚洲色无码中文字幕手机在线,亚洲色中文无码水中色,亚洲深深色噜噜狠狠爱av网站,亚洲视频大全

          <track id="c9je9"><strike id="c9je9"></strike></track>