少兒編程,選擇哪種語言好?
這個提問就像有人在問你 “是穿婚紗好、正裝好還是休閑裝比較好?”
這是一個無法回答的問題,因為問題缺少了重要的前提:“選什么樣的衣服,取決于我們的目的”。
婚禮時穿婚紗很好,但是如果每天都穿著婚紗上班就很奇怪了。
每件衣服都有適用于它應有的場景。
編程語言也是一樣的,每種編程語言都有屬于它的應用場景。
要回答 “少兒編程,選擇哪種語言比較好?”
我的簡單版答案是:Scratch!作為從7歲開始做電子設計,讀過Linux 源代碼,寫過RTOS(實時操作系統(tǒng)),做過芯片編程FPGA/DSP,有20年編程齡,能熟練使用匯編/C/C++/C#/Perl/Objective-C/JAVA/Ruby/Python/Java/HTML/CSS 等大家熟悉的編程語言和大家不熟悉的設計芯片編程語言 Verilog 和 VHDL的我,推薦使用Scratch 。
Q:Scratch 是低級語言,太幼稚,什么時候可以轉學高級語言(例如 C 和 Java)?
這是一個常見誤區(qū),主要是受“高級”二字翻譯不準確的影響產生的誤區(qū)。 高級語言的英文原文叫做 High-level programming language ,更準確的翻譯應該是高層級編程語言。層級的高低不是語言的高級與否的劃分,而是指語言離硬件指令的遠近。越接近人類的自然語言的編程語言越叫高級語言(越容易讀懂),越接近計算機指令的叫做低級語言(越難讀懂)。
舉個例子,匯編語言是離 CPU 指令近的人還能勉強能讀懂的語言。 用匯編來表達 1 + 2,是這樣的:
在其他語言里是這樣表達的:
顯而易見,其他的語言更接近人更好理解的自然語言。
更令人發(fā)指的是,不同架構類型的 CPU,控制它的指令是不一樣的。 也就是說,同樣的是 1 + 2,不同的 CPU 上需要用不同的寫法。
而所有的編程語言設計者,都在致力于做一件事情:
讓人們可以用人類能讀懂的語言,優(yōu)雅地編程,只需要把自己的想法告訴電腦,電腦就能自動把語言翻譯成他能自己能執(zhí)行的命令。
也就是說,無論我們用哪種高級語言寫出來的代碼,都有,也都需要一個翻譯官,去編譯(Compiler)或者解釋(Interpreter)我們寫的代碼讓電腦可以執(zhí)行。學編程來酷叮貓少兒編程大連校區(qū)。