少儿编程,选择哪种语言好?
这个提问就像有人在问你 “是穿婚纱好、正装好还是休闲装比较好?”
这是一个无法回答的问题,因为问题缺少了重要的前提:“选什么样的衣服,取决于我们的目的”。
婚礼时穿婚纱很好,但是如果每天都穿着婚纱上班就很奇怪了。
每件衣服都有适用于它应有的场景。
编程语言也是一样的,每种编程语言都有属于它的应用场景。
要回答 “少儿编程,选择哪种语言比较好?”
我的简单版答案是:Scratch!作为从7岁开始做电子设计,读过Linux 源代码,写过RTOS(实时操作系统),做过芯片编程FPGA/DSP,有20年编程龄,能熟练使用汇编/C/C++/C#/Perl/Objective-C/JAVA/Ruby/Python/Java/HTML/CSS 等大家熟悉的编程语言和大家不熟悉的设计芯片编程语言 Verilog 和 VHDL的我,推荐使用Scratch 。
Q:Scratch 是低级语言,太幼稚,什么时候可以转学高级语言(例如 C 和 Java)?
这是一个常见误区,主要是受“高级”二字翻译不准确的影响产生的误区。 高级语言的英文原文叫做 High-level programming language ,更准确的翻译应该是高层级编程语言。层级的高低不是语言的高级与否的划分,而是指语言离硬件指令的远近。越接近人类的自然语言的编程语言越叫高级语言(越容易读懂),越接近计算机指令的叫做低级语言(越难读懂)。
举个例子,汇编语言是离 CPU 指令近的人还能勉强能读懂的语言。 用汇编来表达 1 + 2,是这样的:
在其他语言里是这样表达的:
显而易见,其他的语言更接近人更好理解的自然语言。
更令人发指的是,不同架构类型的 CPU,控制它的指令是不一样的。 也就是说,同样的是 1 + 2,不同的 CPU 上需要用不同的写法。
而所有的编程语言设计者,都在致力于做一件事情:
让人们可以用人类能读懂的语言,优雅地编程,只需要把自己的想法告诉电脑,电脑就能自动把语言翻译成他能自己能执行的命令。
也就是说,无论我们用哪种高级语言写出来的代码,都有,也都需要一个翻译官,去编译(Compiler)或者解释(Interpreter)我们写的代码让电脑可以执行。学编程来酷叮猫少儿编程大连校区。