小孩子學(xué)什么編程?

導(dǎo)讀:Python 之所以受到廣大開發(fā)者的歡迎,有一大原因就是語法簡單易上手。不過要單論“簡單”,Scratch 笑了。
Scratch 是麻省理工學(xué)院(MIT)為兒童學(xué)習(xí)編程而設(shè)計開發(fā)的一款工具。使用者不用去記復(fù)雜的語法,甚至不需要會英語,就可以創(chuàng)建自己的程序、動畫、游戲等作品。構(gòu)成程序的命令和參數(shù)通過積木形狀的模塊來實現(xiàn),用鼠標(biāo)拖動模塊到程序編輯欄,像搭積木一樣就可以實現(xiàn)編程了。
比如常見的模塊:

我們編程教室 Python 零基礎(chǔ)入門教程開始有一個猜數(shù)字程序。如果用 Scratch 來寫,那就是這個樣子:

執(zhí)行效果:

之前有想讓孩子學(xué)習(xí)編程的家長向我咨詢:Python 和 Scratch 哪一個更適合小孩子學(xué)習(xí)。我的回答是:低年級的孩子建議學(xué) Scratch,初中左右可以考慮直接學(xué) Python。因為 Scratch 的圖形化更能激發(fā)學(xué)習(xí)的興趣,而 Python 的好處在于,以后可以拿來做點真刀真槍的項目,甚至養(yǎng)家糊口。
但其實在任何年齡,如果你不是那么急切地想掌握一門實用語言,Scratch 都是值得花時間嘗試的。雖然它的初衷是給小孩子用的,但也完全適合一個對計算機毫無基礎(chǔ)的人用來了解編程思想和開發(fā)流程。況且通過 Scratch 一樣可開發(fā)出很有意思的作品。
之前在 reddit 上看到一個帖子讓我印象深刻:


大意就是:一個網(wǎng)友說,如果你完全沒有編程經(jīng)驗,強烈推薦從 Scratch 開始入手。他自己就通過學(xué)習(xí)一陣子之后很快做出了一個自己的游戲,這給他繼續(xù)學(xué)習(xí)編程帶來了很大的動力。
另一個網(wǎng)友評論說,有不少會一點編程的人會瞧不起 Scratch,覺得它算不上一門語言。但事實上,很多編程初學(xué)者因為搞不懂變量、循環(huán)、函數(shù)等概念而放棄。而真正在編程時,我們 90% 是在處理邏輯和解決問題,而不是去生搬概念。如果從邏輯出發(fā)來教授編程,那么可能對于學(xué)習(xí)者來說是更合適的。如果你理解了程序背后的邏輯,之后再學(xué)習(xí)其他語言也是很容易的。
我贊同他們的觀點。我一直不能理解網(wǎng)上那些熱衷于爭論某個語言好,某個語言有前途,你應(yīng)該學(xué)哪個語言的人??赡芩麄儚奈础熬ā边^任何一門語言,只不過是熟悉某一類語法和接口罷了。真正有經(jīng)驗的開發(fā)者是不會參與這種論戰(zhàn)的,因為每個語言都有各自的特性和適用場景,但本質(zhì)是相通。
如果你是一個對編程充滿好奇的新手,又苦于對滿屏代碼無從下手,不如抽一個周末嘗試下 Scratch。這也是 Python 外的另一個選擇,說不定能給你打開另一扇窗。

延伸閱讀??

延伸閱讀《少兒計算思維養(yǎng)成記》
