關於高效學習編程,我又有了最新的幾點思考!

俺早就說過,我在公衆號可不僅僅是分享原創技術文章,畢竟咱是編碼之外,也要說點技術之外的,那說點啥嘞,原則就是一定得對大傢伙有用,畢竟慶哥一直都是個實在人!

這不,最近我關於如何高效的學習編程,又有了幾點最新的思考,這就迫不及待的想跟大家分享分享了,如果看完局的不錯,記得分享一下,支持支持我,如果覺得不咋滴,也歡迎大家留言交流。

我的目的很簡單,大傢伙一起進步!

這次的思考主要就是關於“不同的知識應該有不同的學習策略”,看到這個,不知道大傢伙感興趣不,不過我覺得起碼對你們有個啓發作用,所以大傢伙還是繼續看下去吧😁

大家都知道,咱們做程序員的不容易吶😂,不是有句話嘛:

人傻錢多死得早

你聽聽,也不知道哪個歹毒的玩意兒說的🤣,關鍵是,有的程序員覺得自己爭的也不多啊……

其實吧,我覺得,做程序員挺累的,經常性腦闊疼,我們都知道,這個行業,技術更新迭代忒快了,我們得保持不斷的學習,不然,很快你就會被淘汰的,而且還一個讓人腦闊疼的就是:

無論啥時候,我們都會覺得要學習的知識太多了,而且時不時的還感覺自己啥都不會!

你說說扎心不……

說真的,無論你從事哪個方向,其實,要學習的東西真的很多,而且很多知識點深究的話有點傷身體,不過,知識雖然多,但是看起來可以分爲幾大類,比如我們學習Java吧,大致可以分爲:

  1. Java基礎知識
  2. JavaWeb知識
  3. 框架知識

如果這樣分,你可能會更加熟悉:

  1. JavaSE
  2. JavaWeb
  3. JavaEE

你看看是不是這樣?不過其中每個大類拆分下來就有很多的知識點,而且每個可能都要花費你很長時間也不一定學的好,就拿Java基礎知識來說,像線程方面的知識,是不是學起來需要費時費力傷腦闊。

Java學習這塊,我習慣性稱以下三類知識爲Java高級基礎知識:

  1. 多線程
  2. 併發編程
  3. 虛擬機

你覺得是不是嘞,然後往下可能就是:

  1. 集合
  2. IO
  3. 網絡編程
  4. 等等……

這些都是Java的基礎知識,我們學完這個,一般的話會去學習JavaWeb,這個一般就是稍微涉及到前端那塊,因爲現在一般都是B/S架構應用,這個對Java來說也是必須的。

但是在Java基礎知識過後,應該是那些框架知識,也就是SSM那些,當然還有其他的一些開源框架,比如數據庫的mybatis,spring data jpa等等,還有現在流行的微服務那些,也就是springboot那些,當然,還有很多很多,這些都可以稱作爲那些所謂的“框架”,這是一類知識。

告訴大家一句話:

鐵打的思想,流水的語言

好好品品,說到底,語言就是一種工具,就拿Java來說,我們學習它,也是要用它來乾點啥,做出點啥出來,剛開始,這些框架還沒有那麼多的時候,可能我們用Java基本知識可以做的出來,不過麻煩,費時費力,可能效果還不咋滴。

技術總是在不斷的發展,優秀的開發者們會不斷的優化技術,在原有的基礎知識之上,一些大牛就會進行各種各樣的封裝組合,然後成爲第三方庫,成爲開源框架,這些其實都是在原有基礎之上發展而來,比如SpringMVC不就是建立在servlet之上嘛。

所以啊,我記的之前在朋友圈經常看別人轉一篇文章,大致意思就是:

不要再學各種框架,底層知識你都會了嘛?

高級都是再低級之上發展而來,搞定了核心基礎,這些高級的玩意其實也沒那麼高級了,大致是這個意思吧。

然後在實際的工作學習中,我漸漸的發現,其實對於這些繁雜的知識,我們真的該靜下心來好好看看他們,不要悶着頭一直學,也要看看,不同的知識,我們是否應該以不同的學習策略去對待呢?

我這裏大致把編程知識分爲三大類,不管你學習的是Java,還是python抑或是其他,都是適用的。

  1. 計算機基礎知識
  2. 語言核心知識
  3. 框架知識

針對這三塊的知識,我們因該採取不同的學習策略,下面我們就來逐個分析。

1、計算機基礎知識

這塊知識,其實是作爲每一個編程人員都應該重點關注的,有人問,計算機基礎知識指的是哪些知識啊,一般啊,就是這些:

  1. 數據結構與算法
  2. 操作系統
  3. 計算機組成原理
  4. 計算機網絡
  5. 軟件工程

然後再往下可能有彙編,編譯原理等等,但是以上幾個應該是你最先關注的,尤其是數據結構與算法,這個可是編程的“根”,重要程度不言而喻,這也是我公衆號目前正在連載的。

這塊的知識,一般科班的話,都是在大學的時候學的,可是奇怪的是,很多人都學的不好😂,尤其數據結構與算法這塊。

我記得有個比較好玩的就是,有人問:“我數據結構與算法不好咋弄啊”,然後某大佬說:“沒事,大部分程序員數據結構與算法都不好”,然後還有人問:“我數學和英語不好咋弄啊”,然後某大佬說:“沒事,大部分程序員數學和英語都不好”

然後我默默的笑了……😂

所以啊,如果你這塊學的比較好,那真的是不小的優勢,尤其是在校招的時候,進大廠必備啊,所以啊,慶哥在這裏給那些還在讀大學的朋友們說句,千萬重視這塊的學習啊,這可是你以後的核心競爭力啊。

那對於這一塊的知識該怎麼去學習嘞?

大家應該多多少少知道,這塊的知識,似乎不能很好的去實戰,偏理論概念的比較多,就是你學習的時候,並不會立馬就想到,我可以怎樣怎樣去試試,比如別人告訴你怎麼開車,你是可以立馬想到可以找量車去試試。

那麼對於這塊的知識,我覺得應該多看書,多總結,時常複習,儘量記住的越多越好,然後關於數據結構與算法這塊,我們學習這個是可以寫代碼去解題的,那麼關於它,我們更要多練習。

總得來說,這塊的知識需要你私下花時間多去自學,多去研究,然後多總結,時常複習,能練習的多練習,然後就是可以寫代碼的地方,一定要寫代碼,這點也很重要。

關於這塊,無論你學的是什麼語言,基本上都是可以這麼去學習的。

2、語言核心知識

這塊說的就是語言自身的基礎語法知識了,比如python基礎語法,或者Java基礎語言,也就是語言本身最基礎的知識。

這塊的學習其實很明確,如果你想快,這些基礎知識,你可以很快的就給學習完,比如我之前用一天的時間把python基礎知識給學完了,但是後來長時間不看不用,現在基本上忘完了。

因此這塊的是知識,你可以快速的過一遍,比如有些人學習Java,很快的時間把Java語法過一遍,然後就去搞框架了,說真的,如果你有時間,也就是不那麼緊張,我非常不建議這麼做。

俗話說的好:

勿在浮沙築高臺啊

基礎一定要牢,因爲這些語言基礎知識,可是後續的一切基礎啊,後面很多高級的知識都是建立在這個之上,而且有些基礎知識看似簡單,深究下來其實有很多知識點,而這個,你學的越深,理解的越透徹,對你越好,你的核心競爭力也就越大。

就拿Java來說,線程這塊是個基本知識,但是又有多少人把它掌握透徹的,再比如虛擬機,這個搞不定的就更多了,還有JDK源碼,有多少人去系統性的學習過呢?這也是基礎啊,而很多人以爲的基礎就是那簡單的基礎語法而已。

這其實就是你跟別人的差距,爲啥你也學Java,人家也學Java,人家那麼牛,而你那麼菜。

所以啊,對於基礎知識,我覺得要學習的儘量深入,研究期底層,追溯到其源碼,要真正的去理解它,深深的印刻在腦子裏,也就是要死磕。

當然,我可不是說你剛開始學習,就要死磕這些,不然,估計你還沒有開始就要結束了,我這裏說的是你學習的差不多了,然後在你學習後續框架知識的時候,或者做項目的時候,可以有計劃的選取基礎中的一個點,然後去死磕。

3、關於框架知識

這裏指的就是那些形形色色的各種框架了,無論你學的是啥語言,一定會有各種各樣的框架,我這裏以Java來舉例,比如我們學習Java,把基礎知識基本過了,開始接觸框架了,那該怎麼學習嘞?

比如開始學習Spring,上來就花很多時間,把Spring相關知識系統性的學習一遍?

我剛開始就是這麼做的,但是現在我不建議這樣,因爲我覺得這樣效率實在是不高,那該如何高效率的去學習這塊呢?現在,我覺得一個比較好的方式是,看看基本使用,差不多會簡單使用了,然後去找個它是主角或者大配角的項目去練習,一般就是看視頻教程,然後在學習項目的過程中,去接觸關於它更多的知識和用法,我覺得這個學習策略是比較高效的。

也就是你不用一上來就學習百分之百的Spring知識,而是學習個百分之一二十就可以了,剩下的可以在項目學習中去搞定它。

另外,就是框架這塊其實也蠻多的,我們學習也需要時間,對於那些沒有列入到我們項目學習中的框架知識,我們對他們也要有個基礎認知,比如rocketMQ,你可以不知道在項目中怎麼用,但是你得知道它是個啥?

總結

好了,以上就是我最近對於高效學習編程的幾點新思考,我覺得吧,大家看的時候也得多思考,不然會覺得不知道在說啥😂,畢竟是偏理論性的東西,我這裏也簡單的給大傢伙總結一下:

1:計算機基礎知識是基礎中的基礎,也是核心競爭力,能在大學裏搞定它,不要留到以後,在以後的空閒時間,也要多讀讀相關的書籍,儘可能的學習的系統,透徹,做到理解。

2:核心基礎知識是我們學習某一門語言的基礎,這塊應該儘可能的死磕,深入到底層,原理,代碼,做到真正的透徹的理解,當然,不是剛開始學習就建議死磕。

3:框架知識這塊可能就是以後上班中經常打交道的了,我們對這塊的學習,百分之而是交給自我私下自學,剩下的就放在項目中去學習吧,就是更多的知識在項目中去邊用邊學,對於一些常見的你要知道,有個稍微系統的瞭解,拓展這塊的知識廣度。

好啦,這就是今天的全部內容啦,另外再多說一點,上面知識一個學習編程的基本策略和優先順序,說到底,每個知識都適合死磕,關鍵是你有那麼多時間嘛?

所以啊,你得不斷學習啊,不然別人就超過你了,程序員啊,難吶😂

感謝閱讀

大學的時候選擇了自學Java,工作了發現吃了計算機基礎不好的虧,學歷不行這是沒辦法的事,只能後天彌補,於是在編碼之外開啓了自己的逆襲之路,不斷的學習Java核心知識,深入的研習計算機基礎知識,所有心得全部書寫成文,整理成有目錄的PDF,持續原創,PDF在公衆號持續更新,如果你也不甘平庸,那就與我一起在編碼之外,不斷成長吧!

其實這裏不僅有技術,更有那些技術之外的東西,比如,如何做一個精緻的程序員,而不是“屌絲”,程序員本身就是高貴的一種存在啊,難道不是嗎?

非常歡迎你的加入,未來的日子,編碼之外,有你有我,一起做一個人不傻,錢很多,活得久的快樂的程序員吧!

回覆關鍵字“PDF”,獲取技術文章合集,已整理好,帶有目錄,歡迎一起交流技術!

另外回覆“慶哥”,看慶哥給你準備的驚喜大禮包,只給首次關注的你哦!

任何問題,可以加慶哥微信:H653836923,另外,我有個交流羣,我會***不定期在羣裏分享學習資源,不定時福利***,感興趣的可以說下我邀請你!

對了,如果你是個Java小白的話,也可以加我微信,我相信你在學習的過程中一定遇到不少問題,或許我可以幫助你,畢竟我也是過來人了!

在這裏插入圖片描述

感謝各位大大的閱讀🥰

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章