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