哇塞,原來(lái)編程要這樣學(xué)袄炔懈贺!

副標(biāo)題:這樣學(xué)編程,直接原地起飛捌碌妗隅居!

大家好,我是沉默王二葛虐。

今天來(lái)給大家分享一些學(xué)習(xí)編程的心得胎源,真的顛覆了我以前對(duì)學(xué)習(xí)編程的刻板印象,可以這么說(shuō)屿脐,如果你恰好處在大學(xué)階段涕蚤,看到了這篇內(nèi)容宪卿,OK,恭喜你万栅,如果你能按照我說(shuō)的去做佑钾,大三大四的時(shí)候絕對(duì)能領(lǐng)先同學(xué)一大截,除非你好心把這篇內(nèi)容分享給他——嘿嘿烦粒。

編程分兩種休溶,一種是實(shí)操型,奉行的準(zhǔn)則是實(shí)踐出真知扰她;一類(lèi)是理論型兽掰,奉行的準(zhǔn)則是全部的知識(shí)都要搞懂后才肯去動(dòng)手。前者代碼寫(xiě)得多徒役,但基礎(chǔ)不扎實(shí)孽尽,剛學(xué)編程時(shí)候的我應(yīng)該屬于這一類(lèi);后者代碼寫(xiě)得少忧勿,一句“talk is cheap, show me the code”就被嗆得想動(dòng)粗杉女。

真正的大牛,能在兩者之間找到一個(gè)巧妙的平衡點(diǎn)鸳吸。

對(duì)于上班族或者轉(zhuǎn)行的同學(xué)來(lái)說(shuō)熏挎,想把所有的知識(shí)點(diǎn)都鋪開(kāi)去學(xué)習(xí)完,確實(shí)不現(xiàn)實(shí)晌砾,最好的辦法就是重實(shí)戰(zhàn)婆瓜,然后再補(bǔ)理論。對(duì)于科班的在校大學(xué)生來(lái)說(shuō)贡羔,因?yàn)橛谐渥愕臅r(shí)間廉白,所以可以在理論知識(shí)上多花一些時(shí)間,等到工作后再?gòu)浹a(bǔ)實(shí)踐上的短板我認(rèn)為是最正確的方式乖寒。畢竟魚(yú)和熊掌不可兼得呀猴蹂!

最近些年,可能是因?yàn)閷?xiě)作的原因楣嘁,我補(bǔ)充了大量的基礎(chǔ)知識(shí)磅轻,就突然感覺(jué)“今非昔比”了,編程上有了很大的進(jìn)步逐虚,盡管依然很菜聋溜,但比前些年自認(rèn)為好了很多。

好了叭爱,廢話就不多說(shuō)了撮躁。先給大家推薦一門(mén)課,哈佛大學(xué)的 CS50买雾。

老師非常激情把曼,盡管沒(méi)有在現(xiàn)場(chǎng)杨帽,但依然有一種身臨其境的感覺(jué)。第一節(jié)課嗤军,直接就叫同學(xué)到講臺(tái)上撕了一本超級(jí)厚的書(shū)注盈,就為了給同學(xué)們灌輸一種思維——說(shuō)得直接點(diǎn),就是二分查找法叙赚,先把書(shū)撕一半老客,然后再撕一半,再撕一半震叮,直到找到一個(gè) M 開(kāi)頭的名字胧砰。

總共也就 20 多節(jié)課,每節(jié)課大概一個(gè)小時(shí)左右的時(shí)間冤荆,大家可以每天刷一節(jié)。我簡(jiǎn)單列一下課程的目錄权纤,基本上都是編程中要搞懂的基礎(chǔ)知識(shí)钓简。

  • 算法、程序設(shè)計(jì)汹想、語(yǔ)言等
  • 數(shù)據(jù)存儲(chǔ)外邓、磁盤(pán)等
  • C 語(yǔ)言、源代碼古掏、編譯器等
  • 函數(shù)损话、全局變量、參數(shù)槽唾、返回值等
  • 線性搜索丧枪、二進(jìn)制搜索
  • 符號(hào)、遞歸庞萍、冒泡排序等
  • 歸并排序拧烦、動(dòng)態(tài)內(nèi)存分配、堆和棧等
  • 指針钝计、文件輸入輸出等
  • 數(shù)獨(dú)恋博、計(jì)算機(jī)史上最有名的 bug 等
  • 魂斗羅游戲如何分配內(nèi)存等
  • 哈希函數(shù)等
  • 網(wǎng)絡(luò)編程等
  • 網(wǎng)絡(luò)安全等

說(shuō)一件挺不好意思的事,我以前覺(jué)得只學(xué) Java 這門(mén)編程語(yǔ)言就夠了私恬,做個(gè) CRUD 的好 boy 不就挺好的嘛债沮。然后隨著時(shí)間的推移,越來(lái)越覺(jué)得這個(gè)想法有點(diǎn)天真本鸣,有點(diǎn)無(wú)邪疫衩,哈哈,還是要力爭(zhēng)上進(jìn)的荣德,多學(xué)點(diǎn)沒(méi)啥壞處隧土。

一開(kāi)始學(xué)也行提针,隨后補(bǔ)也行,總之是不能想當(dāng)然的不學(xué)曹傀,會(huì)吃虧的辐脖,吃大虧的。

關(guān)于 C 語(yǔ)言皆愉,我之前給大家推薦了浙大教授翁愷的視頻嗜价,以及一個(gè)英文的在線學(xué)習(xí)網(wǎng)站,新來(lái)的同學(xué)可以去看一下幕庐。

我一 jio 踹開(kāi)了 C 語(yǔ)言的大門(mén)

大家應(yīng)該能發(fā)現(xiàn)久锥,很多講解計(jì)算機(jī)科學(xué)相關(guān)的書(shū)籍,包括課程异剥,里面的例子幾乎都是 C 語(yǔ)言描述的瑟由。我在一把小刀,直插 class 文件的小心臟這篇文章里也提到了 C 語(yǔ)言的符號(hào)表(Symbol Table)冤寿。

C 語(yǔ)言是很古老了歹苦,但越老的東西活得越久,越能證明它的優(yōu)越性督怜。

不得不說(shuō)殴瘦,哈佛就是哈佛,名校就是名校号杠,這課程真心給力蚪腋。如果你真的是對(duì)計(jì)算機(jī)科學(xué)感興趣,并且將來(lái)要進(jìn)入這個(gè)行業(yè)工作姨蟋,強(qiáng)烈建議多刷幾遍屉凯。

這是一個(gè)在編程界混吃等死了十多年的老菜鳥(niǎo)給初學(xué)者的最良心的建議。下面是這門(mén)課程的地址眼溶。

https://open.163.com/newview/movie/free?pid=M6U6LS8CV&mid=M6U6MHDUR

刷完這門(mén)《哈佛大學(xué)的 CS50》神得,也刷完了翁愷教授的《C 語(yǔ)言程序設(shè)計(jì)》,就可以看看下面這本天書(shū)了偷仿!

這本書(shū)牛不牛逼哩簿,直接看豆瓣評(píng)分就能感受到,基本上全星酝静,應(yīng)該說(shuō)是計(jì)算機(jī)相關(guān)書(shū)籍中評(píng)分最高的一本了吧节榜。

那肯定是一門(mén)好書(shū),一本再好不過(guò)的書(shū)了别智。

但能不能看得懂宗苍,能不能耐著性子看下去,就需要看你的定力了!

這本書(shū)從計(jì)算機(jī)開(kāi)始講讳窟,介紹了電腦主機(jī)有什么部件让歼,主板上有什么零件,CPU丽啡、內(nèi)存和硬盤(pán)之間是怎么連接的谋右。

介紹了我們寫(xiě)的程序是怎么從一個(gè)文本文件被編譯,然后是怎么變成匯編語(yǔ)言补箍,再到機(jī)器碼的改执,以及怎樣被計(jì)算機(jī)執(zhí)行的。

還講到了計(jì)算機(jī)網(wǎng)絡(luò)坑雅、計(jì)算機(jī)組成原理辈挂、進(jìn)程和線程等等,從硬件到軟件裹粤,全部拿下终蒂。

這本書(shū)讀完后會(huì)有哪些收獲呢交洗?

  • 明確某一個(gè)階段我們欠缺什么知識(shí)儿咱。
  • 對(duì)技術(shù)有極客追求的同學(xué)會(huì)在這本書(shū)里找到很多答案。
  • 終于明白了怀愧,我們寫(xiě)的程序是怎么被計(jì)算機(jī)執(zhí)行的突那。

再次強(qiáng)調(diào)挫酿,《深入理解計(jì)算機(jī)系統(tǒng)》這本書(shū)對(duì)初學(xué)者并不友好构眯,可能需要在不同的時(shí)間節(jié)點(diǎn)反復(fù)的看愕难,一開(kāi)始看不懂的內(nèi)容可以過(guò)一段時(shí)間再看,如果還看不懂就再等等惫霸,過(guò)一段時(shí)間回來(lái)再繼續(xù)看猫缭。另外,書(shū)里面很多例子都是用 C 語(yǔ)言寫(xiě)的壹店,所以在看這本書(shū)之前一定要把 C 語(yǔ)言給吃透了猜丹。

總之,不要抱著那種一定要把這本書(shū)吃透再怎么怎么樣的幻想硅卢。先從中學(xué)到 1%射窒,再學(xué)到 5%,再到 10%将塑,不要操之過(guò)急脉顿,學(xué)到點(diǎn)是點(diǎn),能學(xué)到多少都是值的点寥,不拋棄不放棄艾疟,嘿嘿。

如果真的想從事編程,當(dāng)做一份職業(yè)來(lái)對(duì)待的話蔽莱,你需要一本這樣的書(shū)弟疆。

讀這本書(shū)的同時(shí),可以著手學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)了盗冷,比如說(shuō)數(shù)組怠苔、鏈表、樹(shù)正塌、圖嘀略,以及哈希表等。為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)呢乓诽?

清華大學(xué)鄧俊輝老師的答案:數(shù)據(jù)結(jié)構(gòu)作為構(gòu)建高效算法的必要基礎(chǔ)帜羊,在計(jì)算機(jī)科學(xué)領(lǐng)域中,起到了技術(shù)體系的基石的作用鸠天。以 ACM/IEEE Computing Curricula(計(jì)算機(jī)教學(xué)大綱)2005 年版為例讼育,其中對(duì)于計(jì)算機(jī)科學(xué)、計(jì)算機(jī)工程稠集、信息系統(tǒng)奶段、信息技術(shù)、軟件工程等幾個(gè)相關(guān)專(zhuān)業(yè)的共同要求中剥纷,數(shù)據(jù)結(jié)構(gòu)與算法作為程序設(shè)計(jì)概念與技能的核心痹籍,緊隨在數(shù)學(xué)之后,排在第二位晦鞋。

當(dāng)然了蹲缠,基本的算法也跑不了,比如說(shuō)動(dòng)態(tài)規(guī)劃悠垛、貪心算法线定,還有基本的排序算法。

我給大家推薦一個(gè)在線的學(xué)習(xí)網(wǎng)站确买,地址如下所示:

https://www.programiz.com/dsa/why-algorithms

這是一個(gè)純英文的學(xué)習(xí)網(wǎng)站斤讥,截圖中為什么是中文的?哈哈湾趾,當(dāng)然是我用 Safari 瀏覽器翻譯過(guò)的芭商。英文功底可以的同學(xué)可以直接看英文原版的。代碼示例有多種版本搀缠,Python铛楣、Java、C 和 C++ 的都有胡嘿,完全不用擔(dān)心被編程語(yǔ)言困擾的問(wèn)題蛉艾。

有 C++ 基礎(chǔ)的同學(xué)可以直接看鄧俊輝老師親自錄制的課程,有配套書(shū)籍——《數(shù)據(jù)結(jié)構(gòu)》第三版,清華大學(xué)的計(jì)算機(jī)系列教材勿侯,質(zhì)量沒(méi)得說(shuō)拓瞪。

我貼一下課程的在線地址:

https://www.xuetangx.com/learn/THU08091000384/THU08091000384/5883586/video/9215529

害,如果你想在畢業(yè)后或者跳槽的時(shí)候拿到滿意的 Offer助琐,甚至體驗(yàn)?zāi)欠N好多個(gè) Offer 擺在面前祭埂,卻不知道選哪一個(gè)的感覺(jué)的話,我推薦的這三門(mén)課程兵钮、一個(gè)學(xué)習(xí)網(wǎng)站蛆橡、兩本書(shū),你值得擁有掘譬!

哇塞泰演,原來(lái)學(xué)編程可以這樣呀,忍不住點(diǎn)個(gè)贊葱轩,嘻嘻~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末睦焕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子靴拱,更是在濱河造成了極大的恐慌垃喊,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袜炕,死亡現(xiàn)場(chǎng)離奇詭異本谜,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)偎窘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)乌助,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人评架,你說(shuō)我怎么就攤上這事眷茁】挥荆” “怎么了纵诞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)培遵。 經(jīng)常有香客問(wèn)我浙芙,道長(zhǎng),這世上最難降的妖魔是什么籽腕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任嗡呼,我火速辦了婚禮,結(jié)果婚禮上皇耗,老公的妹妹穿的比我還像新娘南窗。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布万伤。 她就那樣靜靜地躺著窒悔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敌买。 梳的紋絲不亂的頭發(fā)上简珠,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音虹钮,去河邊找鬼聋庵。 笑死,一個(gè)胖子當(dāng)著我的面吹牛芙粱,可吹牛的內(nèi)容都是我干的祭玉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼春畔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼攘宙!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起拐迁,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蹭劈,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后线召,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體铺韧,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年缓淹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哈打。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡讯壶,死狀恐怖料仗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情伏蚊,我是刑警寧澤立轧,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站躏吊,受9級(jí)特大地震影響氛改,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜比伏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一胜卤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赁项,春花似錦葛躏、人聲如沸澈段。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)均蜜。三九已至,卻和暖如春芒率,著一層夾襖步出監(jiān)牢的瞬間囤耳,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工偶芍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留充择,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓匪蟀,卻偏偏與公主長(zhǎng)得像椎麦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子材彪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容