國(guó)外是怎么學(xué)習(xí)計(jì)算機(jī)的?
大家好,我是軒轅。
隨著自己持續(xù)的創(chuàng)作,關(guān)注的粉絲也不斷增長(zhǎng),這些增長(zhǎng)的粉絲不僅有來自國(guó)內(nèi)的朋友,還有不少在國(guó)外留學(xué)的同學(xué)。
微信的好友列表里就有在德國(guó)、英國(guó)、日本、美國(guó)等國(guó)家留學(xué)的同學(xué),每次遇到這些網(wǎng)友,我都喜歡問一個(gè)問題:你們那里是怎么教計(jì)算機(jī)的?
在跟他們的聊天對(duì)話中,我了解到了不同國(guó)家在計(jì)算機(jī)教育方面的差異。
我們很多新手都喜歡在知乎這樣的平臺(tái)去搜索計(jì)算機(jī)和編程的學(xué)習(xí)路線,學(xué)習(xí)方法。
在早期知乎上還很純潔,大家都是真心回答的,沒有那么多套路。但現(xiàn)在去知乎搜索這類問題,鋪天蓋地的都是培訓(xùn)機(jī)構(gòu)和公眾號(hào)引流的回答,很多回答都是從到處搬運(yùn)七拼八湊而成,有些甚至是答非所問。
我就看到過無數(shù)次我的文章和回答被培訓(xùn)機(jī)構(gòu)拿去引流,一開始還想點(diǎn)個(gè)舉報(bào),后來就算了,因?yàn)閷?shí)在太多忙不過來。
一不小心扯遠(yuǎn)了,那天我就突發(fā)其想,國(guó)內(nèi)的新手們習(xí)慣去知乎這樣的網(wǎng)站去搜索計(jì)算機(jī)和編程的學(xué)習(xí)路線,那國(guó)外呢?他們學(xué)習(xí)計(jì)算機(jī)會(huì)不會(huì)有同樣的問題,他們給的學(xué)習(xí)路線跟我們國(guó)內(nèi)的又有什么不同呢?
同樣是學(xué)習(xí)計(jì)算機(jī)和編程,感受國(guó)內(nèi)外的差異,還真是一件挺有意思的事情。
Quora號(hào)稱是美版知乎,我們來看幾個(gè)出現(xiàn)頻率最高的問題:
1、我該選擇哪一個(gè)語(yǔ)言開始學(xué)習(xí)編程?
下面是Quora上的一個(gè)回答:
這個(gè)回答獲得了三百多贊,分別列舉了不同語(yǔ)言的優(yōu)劣勢(shì),基本上和咱們國(guó)內(nèi)的調(diào)調(diào)差不多。
比如C語(yǔ)言貼近計(jì)算機(jī)系統(tǒng),Python庫(kù)多而且語(yǔ)法簡(jiǎn)單,最受歡迎的是Java,這家伙還順帶黑了一把C++????????????

這位答主強(qiáng)調(diào)的是:編程不要只看書,要?jiǎng)邮謱?shí)踐,必須要在實(shí)際使用中才能掌握它。這條回答還以前端的HTML/CSS舉了一個(gè)例子,獲得了1.2K個(gè)贊。
再來看一個(gè)高贊回答:

這個(gè)回答中,答主認(rèn)為:最好學(xué)習(xí)兩種語(yǔ)言。一種語(yǔ)言貼近計(jì)算機(jī)底層,另一種更加貼近人的思維方式,并且推薦了C語(yǔ)言和Python兩個(gè)代表,并指出這適合所有的CS專業(yè)的學(xué)生。
2、零基礎(chǔ)學(xué)習(xí)計(jì)算機(jī)的學(xué)習(xí)路線是什么
說到這個(gè)問題,就不得不提到GitHub上一個(gè)非常知名的項(xiàng)目:OSSU——開源社會(huì)大學(xué)。

在他們的計(jì)算機(jī)學(xué)習(xí)項(xiàng)目里,給出了計(jì)算機(jī)自學(xué)的完整路徑,從初級(jí)到高級(jí)需要學(xué)習(xí)的課程、書籍、視頻等等。這里面的課程來自哈佛大學(xué),普林斯頓大學(xué),麻省理工學(xué)院等等,質(zhì)量非常上乘。
https://github.com/ossu/computer-science#core-systems
其中的核心課程來瞅瞅都有哪些,摘選部分來看看:


《面向?qū)ο缶幊獭?、《設(shè)計(jì)模式》、《軟件架構(gòu)》、《操作系統(tǒng)》、《計(jì)算機(jī)網(wǎng)絡(luò)》···
看吧,其實(shí)跟我們國(guó)內(nèi)學(xué)的那些東西也差不了太多。
3、該如何學(xué)習(xí)C++
C++作為眾多編程語(yǔ)言中難度排名前列的存在,國(guó)外的朋友又是怎么學(xué)習(xí)它的呢?

國(guó)外的程序員也喜歡玩梗啊,21天精通C++的梗圖你看過嗎?

這個(gè)高贊回答將C++程序員分成了不同的段位:
- 純C程序員
- 會(huì)寫帶類的C語(yǔ)言的程序員
- 會(huì)用C++標(biāo)準(zhǔn)庫(kù)的程序員,像vector、string、iterator等等
- 會(huì)寫泛型的C++程序員
- C++11程序員
- 玩轉(zhuǎn)Boost庫(kù)的程序員
- 編譯時(shí)程序員,玩轉(zhuǎn)模板、constexpr的程序員
- C++規(guī)范黑客,熟練掌握各個(gè)C++版本規(guī)范的程序員
- C++標(biāo)準(zhǔn)委員會(huì)成員,他們創(chuàng)造了C++
這個(gè)回答下面還有一張非常出名的C++程序員的自信程度的曲線圖:

另外我發(fā)現(xiàn)了一個(gè)非常全面給力的C++學(xué)習(xí)路線思維導(dǎo)圖,圖片比較大,這里只能看到局部:

作者從軟技能和硬技能兩個(gè)大的方面進(jìn)行了梳理。技術(shù)學(xué)習(xí)重點(diǎn)在硬技能方面,又進(jìn)一步從C++語(yǔ)言語(yǔ)法、編程開發(fā)的工具鏈、操作系統(tǒng)以及一些通用技術(shù)等方面進(jìn)行了詳細(xì)梳理。
以操作系統(tǒng)為例,作者又從內(nèi)存、進(jìn)程、線程、網(wǎng)絡(luò)、文件系統(tǒng)、I/O、安全等方面進(jìn)行了梳理。
原圖片實(shí)在太大,需要的可以給公眾號(hào)發(fā)送消息:“路線圖” ,自動(dòng)獲取。
總結(jié)一下,看了一圈國(guó)外的相關(guān)學(xué)習(xí)路線和學(xué)習(xí)方法的帖子,大體來說跟國(guó)內(nèi)的計(jì)算機(jī)教育差不了太多,主要的區(qū)別在國(guó)內(nèi)的學(xué)習(xí)路線更多偏“實(shí)用”,做項(xiàng)目開發(fā),國(guó)外的更偏向?qū)W習(xí)編程本身,對(duì)編程語(yǔ)言本身和計(jì)算機(jī)基礎(chǔ)知識(shí)花費(fèi)的精力會(huì)更多一些。
不知道有沒有在國(guó)外的朋友在看這篇文章,可以在評(píng)論區(qū)聊聊自己所在的地方是如何學(xué)習(xí)計(jì)算機(jī)的,跟國(guó)內(nèi)有什么不同呢?