天天看點

絕不誤人子弟!零基礎應該選擇學習Java、PHP,還是前端?(1)

上周,有讀者私信我說,“二哥,零基礎該選擇 Java 還是 PHP 啊?”

絕不誤人子弟!零基礎應該選擇學習Java、PHP,還是前端?(1)

我瞬間就誤了!PHP?世界上最好的程式設計語言?

後來,又有讀者私信問我,“挺糾結的,不知道該選前端還是 Java?”

絕不誤人子弟!零基礎應該選擇學習Java、PHP,還是前端?(1)

真不好選,因為“男怕入錯行,女怕嫁錯郎”,初學者糾結這個問題也是情有可原。

首先來說說 PHP,Web 蠻荒的年代,PHP 真的是王者姿态,連 Java 可能都要禮讓三分,但近些年,PHP 隻能做一些速成型的外包項目了,如果想增加更多的業務,想在性能上有所改善,PHP 就真的很難了!

是以,本着不誤人子弟的原則,我推薦選 Java。前端的事,随後再說。

對于程式設計新村的同學來說,最重要的是找到工作,對吧?你要是給我說,你是憑借着一腔熱血才學程式設計的話,我還真的是将信将疑。

毫無疑問,就找工作而言,Java 首屈一指!

我剛去程式設計語言排行榜(TIOBE,非常權威)截了一張圖——關于近 10 年程式設計語言的變化。

可以看得出,Java 霸占這份榜單很多年,并且還會持續更久。一門程式設計語言能有這麼頑強的生命力,他一定有别的語言所沒有的優點,它與生俱來的競争力是别的語言無法取代的。

如果你決定選 Java 的話,可以先看看我整理的這份 GitHub 上星标 115k+ 的 Java 教程,裡面涵蓋了 Java 所有的知識點,包括 Java 文法、Java 集合架構、Java IO、Java 并發程式設計和 Java 虛拟機,内容不多,隻講重點。

GitHub 星标 115k+的 Java 教程,超級硬核!

尤其是對非科班的同學而言,最困難的就是如何先進入這個行業,如果連門都進不來,找不到工作,那麼再怎麼努力,有什麼用呢?

至于科班的同學,很直白,我們學程式設計的目的就是找工作,就是奔着高薪來的,如果臨近畢業,如果連一份實習的工作都找不到,該有多難受!

Java 的就業崗位如果謙虛地說自己隻能排第二,那沒有其他程式設計語言敢說自己排第一。國内的一線網際網路公司,比如阿裡、美團、京東等等,後端都用的 Java。就别說中小型公司了,Java 的開源類庫非常豐富,有着一個充滿活力和積極進取的 Java 社群,借助這些類庫可以讓開發者避免重複造輪子,尤其是有了 Spring Boot 之後,搭建一個獨立的應用程式可以說是輕而易舉,手到擒來。

更重要的是,Java 程式員的薪資客觀啊,以北京為例。

絕不誤人子弟!零基礎應該選擇學習Java、PHP,還是前端?(1)

雖然我是科班出身,但我始終覺得,不管是科班還是非科班,隻要找到合适的學習路線,然後付出努力,找到一份稱心如意的工作并非癡人說夢。對于程式員這個行業來說,你付出一分努力,就會收獲一份回報!

剛發現了一個線上學習 Java 的網站,真的非常不錯,截個圖給你感受下。

絕不誤人子弟!零基礎應該選擇學習Java、PHP,還是前端?(1)

風格賊舒服!還能做任務和打遊戲,學習起來也更輕松自在一些。記住一點,程式設計是一門手藝活,不動手是學不會的。盡量把網站上的代碼都敲一遍,你就會發現自己在技術層面突飛猛進。

https://codegym.cc/zh/quests/tutorial?transition=force

Java 基礎當中,除了資料類型、運算符、表達式、輸出和輸入、程式結構、控制循環、數組、方法、傳參、IO、異常處理、泛型、注解、反射這些偏基礎的内容,難點就兩個,一個是并發程式設計,一個是 Java 虛拟機。

關于并發程式設計,我之前畫過一張思維導圖,可以按照裡面的知識點,一個個過一遍。

絕不誤人子弟!零基礎應該選擇學習Java、PHP,還是前端?(1)

Java 虛拟機涉及到的有 Java 虛拟機記憶體結構、垃圾收集政策與算法、記憶體配置設定與回收政策、Java 虛拟機性能調優、類檔案結構、類加載機制等等,可以先看一看周志明老師的《深入了解 Java 虛拟機》,一開始啃起來可能會比較痛苦,但如果能硬着頭皮多啃一啃的話,面試的時候就會容易得多。工作後,如果能解決一些性能問題,上司也會對你刮目相看。

學 Java 基礎的時候,可以到 B 站上白嫖教育訓練機構的視訊,比如說尚矽谷和動力節點的。但教育訓練機構出的視訊有一個問題就是,内容繁多,過于偏重基礎,真正核心的内容講的不多,也不夠深入。為什麼這麼說呢,我給大家分析一下,就明白了。

拿動力節點的來說:

https://www.bilibili.com/video/BV1Rx411876f?from=search&seid=1705641531822657605

844 節,真塔喵的多,怎麼辦呢?學的過程中,可以跳過,或者倍速下面這些内容:

JDK 的安裝

PATH 環境變量的配置

變量

資料類型

循環控制語句 if、if-else、while

MyEclipse

等等

我沒列舉完,比較多,你自己在看的時候要注意下。

遇到一些不太會的知識點,或者看不懂的,可以按照關鍵字搜一下,Google 是第一選擇,Bing 是第二選擇,微信搜尋是第三選擇,度娘是第四選擇。

CSDN 的 SEO 做的不錯,有些文章的品質對學習還是很有幫助的(注意,我在吹 CSDN 的彩虹屁,哈哈哈)。

說完 Java,再來說說前端吧。

前端這些年因為有 React 和 Vue,再加上安卓、Flutter、微信公衆号、微信小程式等等,确實發展得挺好的,可謂一片盛世。

但不能抱着偏見去做選擇,尤其是不能有這樣的偏見:“前端比 Java 後端容易一些”,那可能一個 Java 後端的大神級的好苗子就沒了。像同學舍友說的那樣,認為“學 Java 找實習來不及,學前端的話,可能性更大”,這種結論很不可取。做任何選擇,都不能隻停留在表面。

Java 後端的學習建議我前面已經說過了,接下來重點談一談前端,看看前端需要掌握的知識點都有哪些,我盡量給大家梳理的完整一些。

前端開發是一個非常特殊的行業,它的曆史并不長,但知識相當的繁雜(尤其是近些年),并且技術的疊代速度是其他技術不能相比的。與此同時,前端工程師也成為了研發體系中的重要崗位之一。

絕不誤人子弟!零基礎應該選擇學習Java、PHP,還是前端?(1)