大學四年,我總結編程新手最容易犯的幾點毛病,你中了幾點?

今天鹿哥爲啥突然來談談這個話題呢?最近鹿哥發現很多小夥伴在自學方法或者編程習慣和鹿哥當年剛自學編程的時候遇到的一些坑感覺就像是一個模子裏刻出來的。所以今天忙裏偷閒抽空和大傢伙多嘮幾句,順便推薦一篇國外編程大牛寫給編程新手的文章。

今天鹿哥會結合着國外編程大牛 Peter Norvig 寫的一篇文章《爲什麼急功近利學不了編程》來談談。這篇文章下班後,俺又翻出來另讀一番,在初學時早看到這篇文章多好。重讀這篇文章後,再結合最近發現羣裏有些小夥伴經常出現的一些問題,就忍不住上來多嘮兩句。

今天鹿哥只選擇原文中認爲的一些重點和以及編程新手經常犯的錯誤來進行談論的。

大部分童鞋不認識 Peter Norvig 是誰,那俺在這裏簡單介紹下,他是美國計算機科學家。Google Inc.的研究總監,並曾擔任 Google 搜索質量總監。文中所提及到的文章原標題是《Teach Yourself Programming in Ten Years》。對原文有興趣的,可以自行谷歌一下。


1、自學如何速成?

很多初學新手私聊問我最多的一個問題就是,鹿哥,我是非科班或者正在自學等等,如何短時間內速成?如何快速入門編程?如何短時間內通過自學編程找到工作?

其實這個問題每個人想心裏都有答案,它好比就像,我沒錢,如何短期內快速賺到錢的道理是一樣的。之前鹿哥分享過一篇《爲什麼急功近利往往賺不到錢》,裏邊涉及到的很多點其實和今天所提及到的編程新手經常犯的問題是一樣的,不同的是看你如何去以什麼心態去品這篇文章。


先聊聊第一個問題,鹿哥,培訓機構能快速入門,我要不要去培訓呢?

對於這個問題,口頭上的快速入門都是培訓機構爲了宣傳自己,能夠拉更多的人頭。俺之前和二線培訓機構打過交道,每到校招時,培訓機構就會聯合學校來各種挖人,各種神操作,各種追在天天你屁股後邊,甚至在宿舍半夜都不走的那種。

在那段時間,我還沒有出去找工作,轉到前端也不久。主要是咱當時不知道找工作難度咋樣,心裏總是有些擔心和不安的,再加上學歷沒優勢,心理上更是少點自信的,就是因爲少點自信,當時心裏想實在不行就去培訓。

後來我接觸到培訓機構的講師,聊着聊着,原來發現是老鄉,隨後聊了很多相關編程和就業的話題,自然而然也聊到了一些學習方法,比如如何構建自己的知識體系,怎麼準備面試等等,其實就是鹿哥平常在公衆號分享的那些自學方法。


後來瞭解到這些,結合自身情況考慮了一下,花兩萬去這種培訓機構,真的不值得。

培訓機構和你自學唯一不同的是,它已經把一些常見的知識點整理好了,然後一口一口的去餵你,督促你,到時候通過內推或者藉助公司資源,給你介紹工作,準備面試。

我們看上邊所聊到的,如果你不傻,不笨,真的沒有必要花 2 萬塊錢去培訓,而且現在互聯網這麼發達,開源的資源也不少,只不過自學需要多摸索,多實踐。在這個摸索實踐的過程中,也提高了你自身的某些能力,比如自學能力,再比如解決問題的能力和搜索資源的能力。

如果你真的是覺得目前時間很緊張,或者不得不立馬需要一份工作的話,可以考慮一下培訓機構。但是你是在校學生,時間非常充沛,完全可以抽出打遊戲的時間,完全靠自學找份工作,對你來說,真的不是特別的難,只要肯下功夫,踏踏實實,剩下的交給時間就好了。當你真靜下心學習,去找工作的時候,真的不是我們想象的特別難找。

現實中發現大多數人卻不是這樣子滴,而是急功近利的去追求短時間入門,Peter Norvig 在文章中也提到了,比如去看一些《x天入門 xx 語言》,尤其是到了某些語言風口的時候,各種打着幾天入門口號的棋子接踵而來。

編程大牛費雷森等人在其著作《如何設計程序》中提到:“壞設計很簡單,笨蛋才用21天學,儘管他們還是真傻。”

咱就簡單分析下《三日學會 C++入門》意味着你學到了哪些?以下是大牛的幾個看點,再加上鹿哥自己的一些自學經歷和看法。


學習

三天內你可能沒有時間寫出有意義的程序,或者從中積累經驗。你不可能有時間去跟職業編程者一起去理解在 C++ 環境下的狀況。簡而言之,你沒有充足的時間學很多。所以這本書只能說膚淺的知識。正如亞歷山大·波普所言:“一知半解是很危險的”。

鹿哥注:所謂的知其然,而不知其所以然,膚淺的東西很容易被吸收,而那些難的往往容易忽略掉,並不是每個人都喜歡深入思考問題這件事情。


語法

三天內你可能學會 C++ 的句法(如果你已經瞭解其他的語言),但你還不會使用它。打個比方,假如你是個 Basic 程序員,你可能寫出 Basic 風格的 C++ 程序,而無法理解 C++ 的真實好處。要點是什麼?

有可能你需要和現成的工具接口以完成手頭的任務。這種情況下,你不是在學習如何編程,只是在學習如何完成任務。

鹿哥注:發現越來越多的人,工作中爲了單純完成領導的任務而完成。在學校裏,而是爲了交作業而完成作業是一個道理的。


三日

不幸地是,這遠遠不夠。

看到以上三點,基本就概括了前期初學者想要在短時間內完成入門或者學好編程是不可能的事情。有人要說,幾個月學好編程可行?那看大牛提出的如何十年學好編程。


2、如何十年學好編程

首先要對編程感興趣,能從編程中得到樂趣。一定要讓它足夠有趣,因爲你要保持你的興趣長達十年。對於是什麼是真興趣,你是否對編程真正感興趣,可以翻翻鹿哥之前寫的一篇,希望能夠幫助你認識到自己的真興趣。


自學系列 | 俺今天就談興趣!


第二點就是,與別的程序員交流。閱讀別人的代碼——這比看任何書或參加培訓課都重要。

鹿哥注:這一點在我實習的時候,我個人感觸是非常深的,剛實習那會,每天扯着我們公司老大交流公司相關的主流項目,而且爲了儘快適應開發,我通常拿出之前公司老項目看老大寫的代碼結構以及業務邏輯。

在這個過程,成長是非常突飛猛進的,直到現在,每天下了班,都會找我們前端部門老大都嘮一嘮,在前輩的經驗或者技術交流中更快的進步。

第三點也是至關重要的一點,實踐。

很多編程新手最長犯的錯誤就是眼高手低,還懶得去實踐。俺這幾天堅持在公衆號更新實戰項目,羣裏很多小夥伴都積極地參與去做,目前到今天,已經更新到了八個,但是有一些小夥伴還停留在第一個徘徊。

至於徘徊的原因,就是動手太少,對於項目很生疏,無從下手。解決辦法只有一個,那就是多練,記得剛接觸前端的時候,管它啥知名網站,拿來就是一頓仿,圖片素材都是自己 PS,不僅學會了佈局,而且 P 圖這個技能也掌握了,兩全其美。

今天二欄更新的項目就是要求你自己 P 圖,想必知道俺的良苦用心了吧,只要關注鹿哥,怎麼痛苦就怎麼跟你玩,逼着你走出自己的心理舒適區。

在這個過程,俺注意到很多人會犯一個毛病,就是隻要完成項目就完事了,你和人家大牛之間,少了一個步驟,那就是反饋。沒有反饋的練習就是白練習,不是說一點進步沒有,俺說的是不會發揮最大的效益。可以看看鹿哥分享的《刻意練習》一書的書評。


大牛最後的一個建議呢,俺和他理解的不一樣滴。建議是如果你願意,花四年學習大學課程(或者再加上讀研)。

鹿哥注:如果你是個普通的本科或者專科,大學課程真的沒太多的必要跟着去學習,之前鹿哥文章中很多都提到了,可以去隨意翻一下,就能知道答案。

想必大牛指的是一些教學質量高的學校,教學資源也多,師資想必都是混過大廠的,那麼你大學四年不聽課的話,那可真是錯過了。


還有幾條,對於俺們來說暫時的用不到,比如至少學 6 種程序語言,一門學不好,咋去學六門,這就有點扎心了,嗯~ 今天就談這麼多,感謝各位 CSDN 讀者的閱讀。


❤️ 總結

文章整理了好幾天,白天上班,晚上熬夜寫出來的文章,真心不易,不妨點贊支持一下。不做白嫖黨,從我做起。


在校自學沒有「實戰項目」,找你鹿哥。沒有好的「自學資料」,也找你鹿哥,沒有好的「自學氛圍」,找你鹿哥,自學中遇到各種問題統統找你鹿哥。

作爲一個每天都被讀者催更到爆肝、爆腎的人,不僅技術文章寫的騷,最主要的能把複雜的技術通過動畫講明白。大學課堂確實索然無味,知其然而不知其所以然。俺專注於數據結構和算法,網絡原理,計算機基礎、Web 大前端等,歡迎來鹿哥公衆號搞事情。一天一篇動畫家屬技術搞定你。


. 1、老鐵們,關注我的原創微信公衆號「**小鹿動畫學編程**」,專注於**數據結構和算法,網絡原理,計算機基礎、Web 大前端等**,歡迎來鹿哥公衆號搞事情。一天一篇動畫家屬技術搞定你。。

2、給俺點個讚唄,可以讓更多的人看到這篇文章,順便激勵下我,嘻嘻。

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