不少资料把:Scratch这个儿童编程工具吹上了天。难于估计全社会有多少拥趸,投入多少金钱和精力学之。

但是看到编程实例的截图,虽然是图形化的,但是堆叠判断复杂异常,其复杂程度已经不亚于直接手写代码甚至学习c,java了。想想在c里面写一个循环是多么简洁的事情。

程序界出现了几次编程普及,c代替繁琐的老辈语言是一次,比尔的vb是一次,宝蓝的delphi是一次,pb的dw对于sql算一次,砍掉pointer的java算一次,c#因为请到了delphi的工程师所以也算一次。php就不说了。现目前的css,html,js。

Scratch我认为比较远离编程实际情况。编程的复杂度是因为问题本身的复杂度造成的。用简单的实例学习,则任何流行的语言都可以作为入门来教。试着想想一个问题需要100行代码来实现,则儿童已经就难于理解了,即便是有人教授,也是超越其接受的年龄了,是徒劳的,因为他们的基础知识尚未打牢,最基本的知识系统,比如物理和数学知识都还不具备呢,而且也缺乏分析问题,研究问题,解决问题的能力。所以有句话叫做:教会儿童做点力所能及的事情。你家里面哪样复杂的决策问题是给小孩子去做的呢?儿童编程仅仅做到适可而止,也就是力所能及就好。如果试图解决复杂问题或者以此为荣,无异于拔苗助长。