-
1 # 紅楓物聯網
-
2 # EmacserVimer
前端是入門門檻低、想要做好難,Java是入門門檻也不低,想要做好更難。至於薪資待遇其實是一樣的,只要你做得好不管是做前端還是做後端,你都可以拿到高薪。
技術行業飽和、不建議大齡轉型,裁員不只是經濟下行這兩年人工智慧大火,又有不少人想要進入這個行業,就跟十年前移動網際網路剛剛在國內爆發的時候,一夜之間無數培訓班出來,很多人都抱著想要進入網際網路行業,像十年前大家拼命擠進金融行業一樣,大家蜂擁一般想要一頭扎進網際網路。那一撥網際網路浪潮來臨的時候,確實也培養了一大批人才,不過你要知道那時候是行業飢渴期,就跟馬老師所說的一樣,早期招人大街上只要是人的,都給拉進來了。
不過現在情勢完全不一樣了,很多人可能認為2018年底到2019年整個一年多,網際網路行業爆發的動盪,以京東、知乎、滴滴、美團、人人車、網易、華為、科大訊飛、阿里優酷等眾多科技公司都在裁員,這些企業都是規模比較大,而且名氣也比較大的企業。
不少同學可能認為這只是經濟下行的影響,大家得知道這只是其中一個原因,更大的原因還是因為由於幾年的爆發式增長,全民創業時代資本失控,不斷有人進入這個行業,這個行業短短几年之前累積了太多的從業者。企業發展過程中發現早起野蠻擴張堆積了太多沒有必要的人了,裁員是勢在必行,因此裁員不僅僅是經濟下行,同時也是因為行業飽和導致了需求不再那麼多了,何況現在這個行業還在不斷的進新的人。
大家不要再忽略一點的是,程式設計這玩意兒吧屬於青春飯行業,基本上30歲就是一個很大的坎,這個坎你上不去基本上就很難了,你也沒辦法和20多歲的年輕人拼身體、拼思維活躍度,現在很多從事這個行業的、技術比較頂尖的基本上在中學時代就開始接觸了,甚至可能更早,他們會參加各種各樣的競賽,包括資訊學競賽,即使是大學開始學的,往往人家大學也比你多系統的學習了四年。同時這個行業還真的有點吃天賦的,程式設計要學得好的話,大機率還是需要你的數學天賦比較好,擁有比較好的邏輯思維能力,尤其是你想要做到比較高的水準,尤其需要看天賦。因此我不建議大齡學程式設計,這樣你的時間真的不夠。
前端可見即所得,後端更注重邏輯、演算法前端和後端既有相通也有區別,前端程式設計所見即所得,後端更注重邏輯和演算法。簡單地說好不好看、好不好用主要看前端程式設計師的水平,產品最終穩不穩定則是看的後端程式設計師的水準,當然現在前端和後端的邊界越來越不明顯了。node這樣的前端技術已經逐漸應用到後端,現在前端也可以寫很多邏輯,未來的程式設計師全棧會越來越多,當然具體工作的時候還是前後端分開。
相對來說前端確實入門門檻相對較低,當然想要學好依然會要求比較高,前端可能在很多地方需要你有一定的審美能力,需要較好的業務理解能力,當然這個產品經理和設計師能夠幫你解決這些問題。不過要想做得好,你對於頁面佈局,顏色搭配等都有一定的要求,畢竟前端是直接呈現給使用者的,好與壞使用者都能直接感受到。
後端更注重邏輯思維能力,更注重演算法,尤其是很多複雜的業務邏輯都是需要後端來解決的,這裡面涉及到很多複雜的業務邏輯,涉及到很多演算法。舉個例子你用滴滴打車,點選按鈕打車這個介面都屬於前端,不過打車之後的具體業務處理,比如打車之後怎麼確定派單規則,怎麼選擇具體的司機派單,是按照地理距離還是實際路線距離,打車之後怎麼確定等待時間,如果發生了乘客取消了怎麼辦,發生了司機取消又怎麼辦,取消之後又需不需要列入使用者和乘客考核等等。
前端和後端都有自己的技術特點,主要看你擅長做前端還是後端,不過我還是建議大家程式設計師都要儘可能往全棧的方向努力,前端要了解一些後端技術,後端更要了解一些前端技術,這樣工作起來也會事半功倍。
-
3 # 小精靈zx
這個看樓主自己喜歡什麼樣子了,前端是比較圖形化,編輯的東西很快就可以出效果,但是後端不一樣,後端是純邏輯的,如果樓主覺得自己邏輯思維比較好,兩個方向都是很不錯的選擇,java女生比較少,樓主也可以根據性別判斷一下。
-
4 # 看新聞的gary
單講入門,兩者對初學者都很友好 , 想深入 , 則都很有挑戰性。
java要求邏輯思維更多一點 , 前端要求耐心和審美更多一點。
現在國內很多中小型公司,對前端需求不大,大部分找的是(會一點前端的)java開發人員,但前端比java更容易接私活。
最後多說一句,不論是做java還是前端,都是一個不斷學習不斷進步的過程,加油。
-
5 # 老陳說程式設計
都還可以。前端現在大多是用H5了,少了以前相容性問題。
學前端的話:html+css+js,為基本的,再加上:vuejs這種框架,還有熟悉一些現成的模板應用,比如bootstrap這種。
後端的話:java開發涉及資料庫,資料服務,通訊,Web等,框架大多是spring這種。
學什麼,看你個人把握。
主要花時間去學,都不難。
-
6 # 安小彥
感謝邀請,web前端和Java兩個相比較的話,前端更好學習,畢竟前端相對簡單,web前端開發前景大好!其中的HTML5技術更是日趨成熟,HTML5是移動網際網路前端的主流開發語言,目前還沒有任何一種前端開發技術能夠取代HTML5。因此,無論是PC端還是APP端的應用,前端樣式都離不開HTML5。起點低、容易入門,適合零基礎開始學習
Java的發展前景都是很樂觀的。Java開發語言是全球最流行的開發語言,無論是程式界還是整個網際網路行業勢必帶來很大的影響。不管是人才需求還是薪資水平上,Java的發展前景都是很樂觀的。Java語言擁有與C、C++等眾多流行語言一樣的簡潔易懂的關鍵字、語法,而且是各種後臺開發語言中相對比較容易上手的語言。使用Java語言開發諸如服務後臺等複雜的應用場景都有簡單完美的解決方案。學習上有一定難度,適合有一定的計算機基礎的學習
不管學習哪個,好好學習,找到適合自己的方式方法,是自學還是培訓學習,技術學習的好,發展才會好,祝好
-
7 # 小酒論英雄
兩者來說,入門都不是很難,但相對來說工資也不高,既然學這個,就是為了高工資,所以必須深入學習才可以。
前端來說學習完簡單一下,學的內容也要少一些,後端要學的東西里太多了!就拿資料庫來說,就有很多,Mysql,db2,oracle……等等,資料庫的輔助開發工具也不少!語言是跳不過去的,學語言,相關的框架也很多種,光ORM就有很多,IOC的也不少,其他框架就不說了!還有不斷新出來的技術框架要學,語言特性要學,還有很多方面!
如果想好了做一個程式設計師,那就準備好天天學,月月學,年年學,還有不停的加班,這些是來自一位老程式設計師的感受!
愛帥的男士,護理頭髮很難保留了。
-
8 # 自學JAVA
哪個更好,這裡答主給出兩個方向的幾個維度的對比,題主可以自己去想想選哪個會更加好一點。
web前端和Java學習難易度上面的對比web前端
主要的學習就是關於網頁的和使用者互動的內容,主要的知識點有:HTML5,js,jquery,前端框架,前端重構等等。前端知識點對於任何一個零基礎的小夥伴 來說,真的很容易接受,學起來那是相當覺得自己有成就感,因為只要你把對應的點敲出來,瀏覽器執行就能看的效果。並且邏輯性相對於Java來說要簡單很多,但是要記的東西很多很多,雖然簡單,但是要記,記住了還得會使用。比如說就光一個css應該有幾百個屬性需要記。
javaJava要學的知識點就真的要比web前端多的多了,這裡就不一一列舉了。首先學習起來,對於零基礎學習剛開始是很難接受的,因為你要把自己的思維轉換成為程式碼真的是需要一定的積累的。並且Java剛開始學習起來概念確實也很簡單,但是邏輯性是需要很強的。要學習的內容很多很雜,所以要記的東西也很多,並且你會發現學到了這裡忘了前面。因為學的東西太多,太快,忘記前面是很正常的。在就是學學習的內容可能都是基礎很多東西是需要到工作中積累的。
就業程度上的對比崗位需求
首先從崗位需求上來說一說,大家看下面的圖就知道了:
某招聘上都是搜的北京,可以看到Java有129頁,web前端只有30頁,所以一看就明瞭,Java開發的市場需求是遠遠高於前端的。
入行門檻
其實現在Java初級開發人員市場基本飽和,如果你培訓班出來,基本上屬於初級的技術水平,所以在找工作上是需要一定的運氣成分的。所以現在的Java已經沒有以前那樣門檻特別低了,但是也還好,比較需求量在那裡,如果你學的還不錯,找工作應該不會特別特別難。
web前端的話,雖然需求量少,但是隻要你面試透過基本上就沒什麼問題。畢竟技術難度在那裡,所以面試的話都一樣的。
後期發展上的對比後期發展說實話答主還是覺得Java要比web前端好。其實如果有從事Java開發崗的小夥伴應該知道,現在有很多網站是可以直接很簡單的建造網頁。其次就剛開始進入行業來說,Java的起薪是要比web前端高很多的。在就是社會發展問題,現在移動端才是主流,包括後期發展也是,在說直白一點,可能以後大家基本上都用手機了,你前端的崗位需求就會越變越少。最後Java雖然剛開始難學,但是技術含量越高你的含金量就越高,並且Java的發展方向也有很多,所以從技術層面來說,Java會越來越強,web前端呢,會越來越不值錢。
總結:入門前端比Java要簡單,入行Java可能比前端要有優勢,發展Java肯定是比前端要好,就光光只談錢上面來說就不能比的。
-
9 # 北漂阿文2019
對於一個剛從程式設計師轉行出來的我來說,你要往這方面發展心裡做好準備了嗎?有幾點你要想清楚,你想往程式設計發展是為了什麼。
1:是因為普遍工資高還是想研究技術,如果是因為工資高那我建議你學web前端,這是目前發展的一個趨勢,就類似前幾年的iOS一樣,這方面及技術現在市場供不應求,而且學習內容相對簡單,上手比較快。所以普遍的薪資都會高一點。
2:如果是因為熱愛程式設計想研究技術的話,你可以研究Java,因為Java這門語言使用性比較廣,網際網路公司程式設計都會用到,工資現在已經透明化,學習起來相對也會難一點,後期想深入一點再順便研究C,C++這些底層語言。
總結一下:選擇哪一門語言我個人覺得最應該考慮的是你自身因素,自己想好了哪們語言都可以,最後再弱弱的說一句:“妹子你真想好要當程式猿了嗎、你不擔心頭髮掉光嗎。
-
10 # 武漢朝夕教育科技
如果做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)
引用型別不包含儲存在變數中的實際資料,但它們包含對變數的引用。換句話說,它們指的是一個記憶體位置。使用多個變數時,引用型別可以指向一個記憶體位置。如果記憶體位置的資料是由一個變數改變的,其他變數會自動反映這種值的變化。
內建的引用型別有:object、dynamic 和 string
六、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#的安全性是很有保障的。
語法上區別:
回覆列表
我覺得學這兩個東西就可以了,vuejs和nodejs,這兩個東西一個前端一個後端,但都是js的學習起來比較簡單,而且他們相互之間也有交集,而且使用範圍也很廣,需求也很旺盛。