“你聽過C、C++、python、Java或者其他編程語(yǔ)言嗎?那么,你或者你的孩子,應(yīng)該選擇什么語(yǔ)言開始編程學(xué)習(xí)呢?”
針對(duì)以下人群小/初/高中年齡段的學(xué)生,非計(jì)算機(jī)專業(yè)的大學(xué)生,無(wú)編程經(jīng)驗(yàn)的成年人,我先說(shuō)明自己的建議:
Scratch:1.小學(xué)~~初中,2.對(duì)編程感興趣的成人
Python:1.初中(高年級(jí))~~大學(xué),2.生活工作中需要編程能力的成人
C/C++:想要參加信息奧林匹克競(jìng)賽的初、高中生
其他語(yǔ)言:如果不是科班或工作需要,或者興趣(雖不知從何而來(lái)),不推薦
01 Scratch
也就是說(shuō),Scratch適合入門,小學(xué)年齡段的兒童就可以學(xué)習(xí),這時(shí)小朋友已經(jīng)具備了四則運(yùn)算和數(shù)值大小比較的知識(shí),通過學(xué)習(xí)Scratch可以培養(yǎng)兒童的邏輯思維、計(jì)算思維、編程概念等。
也許你注意到了國(guó)外和國(guó)內(nèi)都有媒體介紹從5歲開始學(xué)習(xí)Scratch的新聞,不過,我個(gè)人更傾向于小學(xué)三年級(jí)以后才開始學(xué)習(xí)編程。
Scratch編寫的滾動(dòng)抽獎(jiǎng)程序
Scratch的圖形化操作、不需要編碼的特點(diǎn)明顯優(yōu)于其他編程語(yǔ)言,另外,Scratch的圖形編程和音樂、圖像、數(shù)學(xué)等元素也踐行了STEAM教學(xué)理念(STEAM代表科學(xué)Science,技術(shù)Technology,工程Engineering,藝術(shù)Art,數(shù)學(xué)Mathematics)。所以,它才會(huì)成為了少兒編程的。
> Scratch is designed especially for ages 8 to 16, but is used by people of all ages.(Scratch是為了8到16歲的兒童設(shè)計(jì)的,但它其實(shí)適用于所有人)
02 Python
到了初中后期,少兒的思維能力已經(jīng)提高、基礎(chǔ)數(shù)理化知識(shí),有些少兒僅從邏輯思維能力這一項(xiàng)衡量,甚至可以超過部分成人,所以,他們滿足了學(xué)習(xí)成人編程(用在現(xiàn)實(shí)生產(chǎn)上的編程語(yǔ)言)的前提條件。此時(shí),我推薦學(xué)習(xí)Python。
Python的教學(xué)也可以做得比較圖形化,但那絕不是Python被大家推崇的原因,也不是學(xué)習(xí)它時(shí)應(yīng)有的樣子。所以,這個(gè)階段的編程真的就是“編程”(編碼)了。
Python作為程序員界排名前5的語(yǔ)言,因?yàn)樗鼜?qiáng)大的功能和優(yōu)雅的語(yǔ)法吸引了大批的粉絲。它的易用、易學(xué)、易理解,是推薦它成為少兒(其實(shí),也包括成人)門編程語(yǔ)言的原因。但是,請(qǐng)你區(qū)分清楚,這里的易用、易學(xué)是相對(duì)其他成人編程語(yǔ)言來(lái)比較的,和Scratch相比還是難學(xué)很多。
舉個(gè)例子大家體驗(yàn)下Python編程。下面是我近寫的一個(gè)小程序,功能很簡(jiǎn)單,是將《老友記》的將近100個(gè)視頻字幕文件轉(zhuǎn)換成MP3歌詞文件。
03 C / C++
C是非常重要的編程語(yǔ)言,C++可以認(rèn)為是在C基礎(chǔ)上的擴(kuò)展。
C/C++,僅適合需要參加信息奧林匹克競(jìng)賽的學(xué)生(因?yàn)樗鼈兪侵付荚囌Z(yǔ)言。另還有pascal,個(gè)人堅(jiān)決不推薦學(xué)習(xí)),或者想涉足硬件編程的人群。
C語(yǔ)言對(duì)計(jì)算機(jī)相關(guān)專業(yè)的大學(xué)生是有益的。而且到目前為止,偏硬件的領(lǐng)域和對(duì)性能要求高的行業(yè),仍大量使用C和C++。(下面04部分圖表說(shuō)明了這一點(diǎn))
在學(xué)校時(shí),我也非常喜歡C語(yǔ)言并且認(rèn)為它很美,但是,必須誠(chéng)實(shí)的說(shuō),我的很多同學(xué)可不會(huì)認(rèn)同這個(gè)觀點(diǎn)。
04 其他語(yǔ)言
不了解編程的人可能不知道這樣一個(gè)現(xiàn)實(shí),世界上的編程語(yǔ)言種類繁多,而且孰優(yōu)孰劣的論戰(zhàn)已經(jīng)持續(xù)了幾十年,并且會(huì)一直持續(xù)下去。所以,對(duì)于尚不了解編程或剛剛編程入門的朋友,建議你不要用“應(yīng)該選擇哪一門編程語(yǔ)言”的問題來(lái)折磨自己。學(xué)編程來(lái)酷叮貓少兒編程大連校區(qū)。