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

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

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

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


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

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

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

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

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