想往編程發展,web前端和JAVA哪個更好學?

仙女有愛


前端是入門門檻低、想要做好難,Java是入門門檻也不低,想要做好更難。至於薪資待遇其實是一樣的,只要你做得好不管是做前端還是做後端,你都可以拿到高薪。

技術行業飽和、不建議大齡轉型,裁員不只是經濟下行

這兩年人工智能大火,又有不少人想要進入這個行業,就跟十年前移動互聯網剛剛在國內爆發的時候,一夜之間無數培訓班出來,很多人都抱著想要進入互聯網行業,像十年前大家拼命擠進金融行業一樣,大家蜂擁一般想要一頭扎進互聯網。那一撥互聯網浪潮來臨的時候,確實也培養了一大批人才,不過你要知道那時候是行業飢渴期,就跟馬老師所說的一樣,早期招人大街上只要是人的,都給拉進來了。

不過現在情勢完全不一樣了,很多人可能認為2018年底到2019年整個一年多,互聯網行業爆發的動盪,以京東、知乎、滴滴、美團、人人車、網易、華為、科大訊飛、阿里優酷等眾多科技公司都在裁員,這些企業都是規模比較大,而且名氣也比較大的企業。

不少同學可能認為這只是經濟下行的影響,大家得知道這只是其中一個原因,更大的原因還是因為由於幾年的爆發式增長,全民創業時代資本失控,不斷有人進入這個行業,這個行業短短几年之前累積了太多的從業者。企業發展過程中發現早起野蠻擴張堆積了太多沒有必要的人了,裁員是勢在必行,因此裁員不僅僅是經濟下行,同時也是因為行業飽和導致了需求不再那麼多了,何況現在這個行業還在不斷的進新的人。

大家不要再忽略一點的是,編程這玩意兒吧屬於青春飯行業,基本上30歲就是一個很大的坎,這個坎你上不去基本上就很難了,你也沒辦法和20多歲的年輕人拼身體、拼思維活躍度,現在很多從事這個行業的、技術比較頂尖的基本上在中學時代就開始接觸了,甚至可能更早,他們會參加各種各樣的競賽,包括信息學競賽,即使是大學開始學的,往往人家大學也比你多系統的學習了四年。同時這個行業還真的有點吃天賦的,編程要學得好的話,大概率還是需要你的數學天賦比較好,擁有比較好的邏輯思維能力,尤其是你想要做到比較高的水準,尤其需要看天賦。因此我不建議大齡學編程,這樣你的時間真的不夠。

前端可見即所得,後端更注重邏輯、算法

前端和後端既有相通也有區別,前端編程所見即所得,後端更注重邏輯和算法。簡單地說好不好看、好不好用主要看前端程序員的水平,產品最終穩不穩定則是看的後端程序員的水準,當然現在前端和後端的邊界越來越不明顯了。node這樣的前端技術已經逐漸應用到後端,現在前端也可以寫很多邏輯,未來的程序員全棧會越來越多,當然具體工作的時候還是前後端分開。

相對來說前端確實入門門檻相對較低,當然想要學好依然會要求比較高,前端可能在很多地方需要你有一定的審美能力,需要較好的業務理解能力,當然這個產品經理和設計師能夠幫你解決這些問題。不過要想做得好,你對於頁面佈局,顏色搭配等都有一定的要求,畢竟前端是直接呈現給用戶的,好與壞用戶都能直接感受到。

後端更注重邏輯思維能力,更注重算法,尤其是很多複雜的業務邏輯都是需要後端來解決的,這裡面涉及到很多複雜的業務邏輯,涉及到很多算法。舉個例子你用滴滴打車,點擊按鈕打車這個界面都屬於前端,不過打車之後的具體業務處理,比如打車之後怎麼確定派單規則,怎麼選擇具體的司機派單,是按照地理距離還是實際路線距離,打車之後怎麼確定等待時間,如果發生了乘客取消了怎麼辦,發生了司機取消又怎麼辦,取消之後又需不需要列入用戶和乘客考核等等。

前端和後端都有自己的技術特點,主要看你擅長做前端還是後端,不過我還是建議大家程序員都要儘可能往全棧的方向努力,前端要了解一些後端技術,後端更要了解一些前端技術,這樣工作起來也會事半功倍。


EmacserVimer


哪個更好,這裡答主給出兩個方向的幾個維度的對比,題主可以自己去想想選哪個會更加好一點。

web前端和Java學習難易度上面的對比

  • web前端

主要的學習就是關於網頁的和用戶交互的內容,主要的知識點有:HTML5,js,jquery,前端框架,前端重構等等。前端知識點對於任何一個零基礎的小夥伴 來說,真的很容易接受,學起來那是相當覺得自己有成就感,因為只要你把對應的點敲出來,瀏覽器運行就能看的效果。並且邏輯性相對於Java來說要簡單很多,但是要記的東西很多很多,雖然簡單,但是要記,記住了還得會使用。比如說就光一個css應該有幾百個屬性需要記。

  • java

Java要學的知識點就真的要比web前端多的多了,這裡就不一一列舉了。首先學習起來,對於零基礎學習剛開始是很難接受的,因為你要把自己的思維轉換成為代碼真的是需要一定的積累的。並且Java剛開始學習起來概念確實也很簡單,但是邏輯性是需要很強的。要學習的內容很多很雜,所以要記的東西也很多,並且你會發現學到了這裡忘了前面。因為學的東西太多,太快,忘記前面是很正常的。在就是學學習的內容可能都是基礎很多東西是需要到工作中積累的。

就業程度上的對比

  • 崗位需求

首先從崗位需求上來說一說,大家看下面的圖就知道了:

某招聘上都是搜的北京,可以看到Java有129頁,web前端只有30頁,所以一看就明瞭,Java開發的市場需求是遠遠高於前端的。

  • 入行門檻

其實現在Java初級開發人員市場基本飽和,如果你培訓班出來,基本上屬於初級的技術水平,所以在找工作上是需要一定的運氣成分的。所以現在的Java已經沒有以前那樣門檻特別低了,但是也還好,比較需求量在那裡,如果你學的還不錯,找工作應該不會特別特別難。

web前端的話,雖然需求量少,但是隻要你面試通過基本上就沒什麼問題。畢竟技術難度在那裡,所以面試的話都一樣的。

後期發展上的對比

後期發展說實話答主還是覺得Java要比web前端好。其實如果有從事Java開發崗的小夥伴應該知道,現在有很多網站是可以直接很簡單的建造網頁。其次就剛開始進入行業來說,Java的起薪是要比web前端高很多的。在就是社會發展問題,現在移動端才是主流,包括後期發展也是,在說直白一點,可能以後大家基本上都用手機了,你前端的崗位需求就會越變越少。最後Java雖然剛開始難學,但是技術含量越高你的含金量就越高,並且Java的發展方向也有很多,所以從技術層面來說,Java會越來越強,web前端呢,會越來越不值錢。



總結:入門前端比Java要簡單,入行Java可能比前端要有優勢,發展Java肯定是比前端要好,就光光只談錢上面來說就不能比的。

以上是答主的個人看法,如果有更好建議的小夥伴可以在下方評論區留言,或者點個贊,加個關注,我們一起探討探討。


自學JAVA


如果做Web的話,我推薦你做C#,java 當然也是比較好的;我個人從業C#開發多年;

下面我給你比較一下二者的區別,僅供你參考選擇!


一、C#簡介

C#是微軟公司發佈的一種面向對象的、運行於.NET Framework之上的高級程序設計語言。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑑了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司 .NET windows網絡框架的主角。  C#是一種安全的、穩定的、簡單的、優雅的,由C和C++衍生出來的面向對象的編程語言。它在繼承C和C++強大功能的同時去掉了一些它們的複雜特性(例如沒有宏以及不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持成為.NET開發的首選語言。

二、Create a New C# Project

環境:Visual Studio (VS)編譯 & 執行 C# 程序如果您使用 Visual Studio.Net 編譯和執行 C# 程序,請按下面的步驟進行:

1、啟動 Visual Studio,在菜單欄上選擇 File -> New -> Project,從模板中選擇 Visual C#,然後選擇 Windows,選擇 Console Application,為您的項目制定一個名稱,然後點擊 OK 按鈕;2、新項目會出現在解決方案資源管理器(Solution Explorer)中,在代碼編輯器(Code Editor)中編寫代碼,點擊 Run 按鈕或者按下 F5 鍵來運行程序。會出現一個命令提示符窗口(Command Prompt window),顯示 輸出結果。

或者通過命令符工具

打開一個文本編輯器,添加上面提到的代碼,保存文件為 helloworld.cs打開命令提示符工具,定位到文件所保存的目錄鍵入 csc helloworld.cs 並按下 enter 鍵來編譯代碼如果代碼沒有錯誤,命令提示符會進入下一行,並生成 helloworld.exe 可執行文件接下來,鍵入 helloworld 來執行程序。您將看到 “Hello World” 打印在屏幕上。

三、C# 代碼

1.:using 關鍵字用於在程序中包含 System 命名空間,一個程序一般有多個using 語句;

2.:一個 namespace 是一系列的類, 命名空間包含了類 HelloWorld;

3.:類 HelloWorld 包含了程序使用的數據和方法聲明,類一般包含多個方法,方法定義了類的行為,在這裡HelloWorld 類只有一個 Main 方法;

4.:是所有 C# 程序的 入口點,Main 方法說明當執行時 類將做什麼動作,Main 方法通過語句 指定了它的行為。

5. 是一個定義在 System 命名空間中的 Console 類的一個方法,該語句會在屏幕上顯示消息 “Hello,World!”;   是針對 VS.NET 用戶,這使得程序會等待一個按鍵的動作,防止程序從 Visual Studio .NET 啟動時屏幕會快速運行並關閉。

四、C# 基本語法五、C# 數據類型

在 C# 中,變量分為以下幾種類型:

值類型(Value types) 引用類型(Reference types) 指針類型(Pointer types)

1.值類型(Value types)

2.引用類型(Reference types)

引用類型不包含存儲在變量中的實際數據,但它們包含對變量的引用。換句話說,它們指的是一個內存位置。使用多個變量時,引用類型可以指向一個內存位置。如果內存位置的數據是由一個變量改變的,其他變量會自動反映這種值的變化。

內置的引用類型有:objectdynamicstring

六、C# 類型轉換方法

C# 提供了下列常用的內置類型轉換方法

七、C# 中

下面列出 C# 一些重要的功能:

布爾條件(Boolean Conditions)自動垃圾回收(Automatic Garbage Collection)標準庫(Standard Library)組件版本(Assembly Versioning)屬性(Properties)和事件(Events)委託(Delegates)和事件管理(Events Management)易於使用的泛型(Generics)索引器(Indexers)條件編譯(Conditional Compilation)簡單的多線程(Multithreading)LINQ 和 Lambda 表達式集成 Windows

八、Java 和 C# 的相同點和區別

相同點:  都是面向對象的語言,也就是說,它們都能實現面向對象的思想(封裝,繼承,多態)

區別:

1、開發環境  C# 用Visual Studio,而JAVA用idea、Eclipse;跨平臺Java用虛擬機,C#用Framework;Java所有平臺都支持,而C#只有Windows和Linux支持。  很多網友認為C#語言比Java更先進,如在泛型和linq上,這隻能說C#編程體驗好。Sun初衷是把Java設計成一個跨平臺的Runtime,而Microsoft只是把.Net做成Windows的一個擴展。

2、目前市場上Java比C#佔優勢  很多大公司選用Java,如京東,淘寶和百度,現狀是在企業更通用,Java做Web類開發很強大,C#做窗體類開發更好。

3、安全性  Java是開源的,因此在安全性能上是有一些欠缺的,C#經常應用於後臺內部網絡的開發,C#的安全性是很有保障的。

語法上區別:


武漢朝夕教育科技


都還可以。前端現在大多是用H5了,少了以前兼容性問題。

學前端的話:html+css+js,為基本的,再加上:vuejs這種框架,還有熟悉一些現成的模板應用,比如bootstrap這種。

後端的話:java開發涉及數據庫,數據服務,通訊,Web等,框架大多是spring這種。

學什麼,看你個人把握。

主要花時間去學,都不難。


半碼


個人覺得還是前段應該好學點,我搞得是後臺java,每天10點才能走,前段到點就走[打臉],工資也不比我少


老陳帶你看經典電影


對於一個剛從程序員轉行出來的我來說,你要往這方面發展心裡做好準備了嗎?有幾點你要想清楚,你想往編程發展是為了什麼。

1:是因為普遍工資高還是想研究技術,如果是因為工資高那我建議你學web前端,這是目前發展的一個趨勢,就類似前幾年的iOS一樣,這方面及技術現在市場供不應求,而且學習內容相對簡單,上手比較快。所以普遍的薪資都會高一點。

2:如果是因為熱愛編程想研究技術的話,你可以研究Java,因為Java這門語言使用性比較廣,互聯網公司編程都會用到,工資現在已經透明化,學習起來相對也會難一點,後期想深入一點再順便研究C,C++這些底層語言。

總結一下:選擇哪一門語言我個人覺得最應該考慮的是你自身因素,自己想好了哪們語言都可以,最後再弱弱的說一句:“妹子你真想好要當程序猿了嗎、你不擔心頭髮掉光嗎[捂臉]。



北漂阿文2019


Java的發展前景都是很樂觀的。Java開發語言是全球最流行的開發語言,無論是程序界還是整個互聯網行業勢必帶來很大的影響。不管是人才需求還是薪資水平上,Java的發展前景都是很樂觀的。Java語言擁有與C、C++等眾多流行語言一樣的簡潔易懂的關鍵字、語法,而且是各種後臺開發語言中相對比較容易上手的語言。使用Java語言開發諸如服務後臺等複雜的應用場景都有簡單完美的解決方案。學習上有一定難度,適合有一定的計算機基礎的學習

不管學習哪個,好好學習,找到適合自己的方式方法,是自學還是培訓學習,技術學習的好,發展才會好,祝好


千鋒哈爾濱


兩者來說,入門都不是很難,但相對來說工資也不高,既然學這個,就是為了高工資,所以必須深入學習才可以。

前端來說學習完簡單一下,學的內容也要少一些,後端要學的東西里太多了!就拿數據庫來說,就有很多,Mysql,db2,oracle……等等,數據庫的輔助開發工具也不少!語言是跳不過去的,學語言,相關的框架也很多種,光ORM就有很多,IOC的也不少,其他框架就不說了!還有不斷新出來的技術框架要學,語言特性要學,還有很多方面!

如果想好了做一個程序員,那就準備好天天學,月月學,年年學,還有不停的加班,這些是來自一位老程序員的感受!

愛帥的男士,護理頭髮很難保留了。



小酒論英雄


單講入門,兩者對初學者都很友好 , 想深入 , 則都很有挑戰性。

java要求邏輯思維更多一點 , 前端要求耐心和審美更多一點。

現在國內很多中小型公司,對前端需求不大,大部分找的是(會一點前端的)java開發人員,但前端比java更容易接私活。

最後多說一句,不論是做java還是前端,都是一個不斷學習不斷進步的過程,加油。


看新聞的gary


我覺得學這兩個東西就可以了,vuejs和nodejs,這兩個東西一個前端一個後端,但都是js的學習起來比較簡單,而且他們相互之間也有交集,而且使用範圍也很廣,需求也很旺盛。


分享到:


相關文章: