-
1 # 程式設計師老兵
-
2 # IT人劉俊明
Java目前在web開發領域有大量的應用,問題中提到的web應該指的是web前端的內容。其實這兩個方向都不錯,作為程式設計師應該都系統的學習一下。至於選擇哪個方向深入學習,應該結合自身的基礎條件進行判斷。如果有較好的數學基礎,或者是理工科專業出身那麼建議深入學習一下Java,可以為以後確定一個主攻研究方向做準備。
下面就以Java為例來簡單探討一下方向的問題,目前使用Java進行開發的領域大致集中在以下幾個方向:Web方向、移動互聯方向、大資料方向、雲計算方向、機器學習方向。這些領域都可以使用Java作為開發語言來實現具體功能,作為目前最流行的開發語言之一,Java的適用範圍還是比較廣泛的。
Web方向、移動互聯方向Web開發可以說是Java的看家本領。Java以Applet起家,中間經歷了多次重大的調整,之所以能成為目前使用最廣泛的語言之一,一個重要的原因就是它在Web開發領域優異的效能表現。
Web開發的選擇目前集中在三個開發語言上,分別是:Java、PHP、Python,其他語言佔的份額較小。這三個語言中Java是效能的代表,PHP是方便的代表,Python是簡單的代表,可以說各有千秋。注重效能的電商平臺和大併發的移動互聯平臺目前大都選擇效能更為優異的Java作為開發語言,這也是為什麼Java幾乎是程式設計師必須學習的開發語言。
Java還是Android平臺的開發語言,所以做Android app開發的程式設計師必須掌握Java語言。目前做Android開發的程式設計師有不少都是從Web開發轉過來的,Java程式設計師用很短的時間就可以轉換到Android開發中。我本人就是自學了一週左右的Android,然後就開始做Android專案開發了,所以Java程式設計師做移動互聯方向也有很多優勢,前後端都能搞定。
雲計算方向、大資料方向雲計算與大資料雖然是兩個大的方向,但是其實它們並不分家,可以說大資料就是雲計算發展到一定階段的必然產物。雲計算涉及到諸多技術,總的來說提供三種服務:IaaS、PaaS、SaaS,也就是基礎設施即服務、平臺即服務以及軟體即服務。
雲計算和大資料平臺元件大量採用了Java語言進行開發,其中大名鼎鼎的Hadoop就是採用Java語言編寫的,還有Zookeeper、Hbase、Hive、CloudStack等開源框架都是採用Java語言編寫的。其中亞馬遜雲計算平臺以及Oracle雲計算平臺解決方案中也有大量Java開發的身影,所以做雲計算和大資料方向學習Java還是很有必要的。
當然,在雲計算和大資料方向還有一些語言比較突出,也是最近幾年發展比較迅速的語言,比如編寫Spark的Scala語言,開發Docker的Go語言,以及開發OpenStack的Python語言等等,作為程式設計師來說掌握這些語言對進行大資料以及雲計算方向的開發會有一定的幫助。
機器學習方向機器學習方向作為人工智慧的分支之一,在最近幾年得到了快速的發展。Java以其高效的執行速度在機器學習領域也有廣泛的應用,我在做機器學習研究中就使用Java完成了很多演算法的具體實現。
說到機器學習一定要提一下Python,雖然很多機器學習專案最終使用Java實現的,但是在最初做研發的時候,大部分程式設計師會選擇使用Python。得益於Numpy等庫的強大,在機器學習領域使用Python是一個聰明的選擇。
所以作為程式設計師來說沒有最好的選擇,只有最適合的選擇,多學一些開發語言並不是壞事。
回覆列表
現在大廠都是前後端分離開發,分工越來越細。前端技術發展很快,要不停的學習,收入不差,天花板相對較低。java技術棧比較穩定,但是深度很深,要學習的東西很多,天花板較高,容易深入接觸業務,也很容易後期轉管理,前端轉管理幾乎不可能。