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