天天看點

計科專業的大一新生,如何提高程式設計能力?二哥簡單說兩句!

大家應該都知道歐陽修的《賣油翁》的寓言小故事,油翁說的那句“無他,唯手熟爾”,不僅适用于康肅公的射箭、油翁的倒油,也适合新手程式設計。

我上大學的時候由于老師水準太菜的原因,程式設計其實學得一塌糊塗。這裡多說一句,當時捧着老師推薦的《Java 程式設計思想》視為聖經,前前後後看了好多遍,差點被勸退。當然了,AWT 和 Swing 可真沒少學,當時為了做一個類似 QQ 的聊天界面,真的是差點崩潰,用的是 MyEclipse,不像 NetBeans 能拖拽元件。

嗯,我說老師水準菜這件事,會不會被說不尊重老師?真沒有哈,純粹說一個事實。我上大學那會程式設計水準也菜的不行不行的。

勉強找到一份外企的實習工作後,終于下定決心要奮發圖強,原因很簡單,因為如果能力和公司要求不比對的話,是會被無情辭退的。觀察期兩個月,和我同去的一波新人當中就被辭退了七八個。

怎麼提高程式設計能力呢?我的做法很簡單,就是到程式設計網站上找例子做,有些是原封不動地抄到本地,但因為環境的不同,很多都不能正常運作,為了解決錯誤,又不好意思為前輩,就隻能問搜尋引擎,當時谷歌還能正常通路,如果還找不到答案,就去問度娘。

實在是解決不了,隻能放棄,繼續去抄下一個例子。就這樣持續了半年的時間,水準竟然得到了很大程度上的提高,想起來真的是覺得不可思議。重要的是,上司安排的任務也都能獨立地完成了。

說到這,給大家推薦一個我覺得不錯的 Java 線上學習網站。

計科專業的大一新生,如何提高程式設計能力?二哥簡單說兩句!

風格賊舒服!還能做任務和打遊戲,學習起來也更輕松自在一些。網址我貼一下:

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

記住一點,程式設計是一門手藝活,不動手是學不會的。盡量把網站上的代碼都敲一遍,你就會發現自己在技術層面突飛猛進。

清華大學的孫家廣院士曾說過三句話,我覺得非常妙:

learning by doing

do not give up

get things done

我之前一直推薦的 vhr 和 mall,都是 GitHub 上很優質的練手項目,文檔特别全面,如何部署,如何上手每一個技術棧,不管是松哥還是宏哥,要麼提供了視訊示範,要麼寫了詳細的文檔,新手完全不用擔心看不懂、跑不起來的問題。

把其中的任意一個 down 下來,用 Intellij IDEA 打開,然後運作它,加 log,試着修改一些資料和代碼,看看有什麼變化,用不了仨月,你就會感覺自己的程式設計能力在突飛猛進。

這個過程中,你既可以通過實踐去檢驗學過的知識,也可以通過拆解優質的項目學習作者的程式設計經驗,可謂是一舉兩得。

還有,像《C 程式設計語言》這本書,裡面的代碼都寫得非常的優雅,在學習的時候不僅要看懂裡面的代碼,還要能把裡面的代碼在本機上敲出來跑起來,一遍沒記住,就多敲幾遍,直到自己可以自主的敲完一個例子。

有很多讀者向我回報,說敲完代碼總是忘記,其實問題很簡單,就是敲得少啊,就像一篇文言文,你得背會啊,不然考試的時候肯定答不出來啊,就是因為還沒有形成記憶,沒有刻意練習。

我一開始學 Java 的時候,也總是忘記,需要不停地查 API。為了友善,我桌面上就備了一份 Java SE 1.6 的中文幫助文檔(又暴露了什麼),想不起來就去查,查久了,敲久了,經常用的 API 算是徹底記到腦子裡了。

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

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

其實不隻是學程式設計語言,像 Linux 指令啊,也得經常敲才能形成肌肉記憶。像常用的 cd mkdir cp rm 等等,如果不敲上個幾十遍,後面該跟什麼參數就會很生疏。記得我最經常跑的一條指令是 ps -ef | grep java,用來檢視正在運作的 Java 程序,好 kill 它。

程式設計是一門手藝活,不動手是學不會的。

PS:周四的時候,人民郵電出版社的傅道坤編輯、孫建新編輯特意從北京飛到洛陽,找二哥約稿,當然還有一些其他的一些合作意向。說真的,二哥有點受寵若驚,要知道人民郵電出版社可是國内數一數二的出版社。

我帶他們去撸了串,期間聊得非常的愉快。兩位老師承諾說,以後人民郵電就是二哥的圖書館,想要什麼書盡管開口,他們郵寄過來。想送讀者也沒問題,盡管開口要。

還有,如果哪個讀者想出書,找二哥,二哥把兩位編輯推薦給你,畢竟他們倆手裡掌握着出版社最優質的資源,不僅圖書品質有保證,銷量也是杠杠的。當然,稿費也一定給到位。

CSDN 上還是卧虎藏龍的,我當年出書就是出版社在 CSDN 上發現了我,嘿嘿。

另外,這兩篇文章在 CSDN 上的閱讀都還不錯,如果沒看到的話,可以再讀一下。

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

憤怒!竟然還有學校還在教 Java 的 Swing

PPS:注意第二篇文章,裡面的内容還推薦了 Java 的基礎,比如說文法、集合架構、多線程并發和 Java 虛拟機,這些都是比 swing 要重要太多的内容。

大學還在教,有自己的苦衷,但是大學畢竟也隻有四年,大專三年,時間說長不長,說短不短,自己還是應該知道哪些是重點要學的内容,不然時間上可能真的來不及,基礎很重要,但基礎不等同于 swing,這是我一直以來的觀點。

最後,比較來,比較去,還是覺得 CSDN 最好,部落格園上的噴子太多,我已經放棄,沒想到掘金上的噴子也多,差不多也要到放棄的時候了。

以前總有人抨擊 CSDN 社群品質低,我一直覺得這裡才是最好的,相對來說一直在進步,而部落格園和掘金,不知道為什麼,噴子反而更多。

好好珍惜吧,大家一起加油!