转述,来自一线程序员的看法:
随着儿子慢慢长大,我一直在思考如何让他接触编程。虽然我是程序员,应该有不少人用过我写的程序,但是我希望我儿子能学习编程并不是要求他能像我一样成为程序员,而是我认为学习编程能掌握思维方式和锻炼思维能力。实际上我也是从小学就开始学习编程的。
我一直在想有什么好的编程语言和工具,既能和现代的实际用于生产的编程语言思不脱节又显得有趣简单,适合儿童学习使用。前年的WWDC,Apple发布了Swift语言,和集成在Xcode里的Swift Playground,当时我就意识到Swift Playground这种所编即所见的方式非常适合普通人学习编程。今年的WWDC,苹果更进了一步,发布了Swift Playground on iPad。这款App在支持标准Swift语言语法和主要Framework的基础上还带有套由浅入深的教程,让人们用来学习编程。为了教儿子用这套教程,我自己花半小时简单玩了玩,感觉设计的非常好。在这套教程里。我们可以通过指令控制一个叫做Byte的小人完成搜集宝石的任务。Byte只会几种基本动作,或者说只能响应这几种基本指令:前进、左转、打开开关、搜集跟前的宝石。一开始教程引导我们组合这些基本指令,控制Byte完成收集宝石的任务。之后引入函数的概念,引导我们思考如何利用基础指令实现右转,并如何将这些基础指令组合成函数,可以和其它基本动作一样控制Byte。这个教程我还没看完,根据WWDC的介绍,之后还有对循环结构的介绍。从我目前看到的内容看,我觉得非常满意:虽然和我用于生产的Swift语言有差距,毕竟不需要了解任何实际的iOS系统框架,但语法甚至命名规范上和Swift语言没有区别。更重要的是,这套教程完全是所编即所见,你能看到你控制的Byte每一个动作,让人很容易理通过基本指令的组合实现复杂功能的过程,这也是编程的本质。
目前我觉得入门的唯一门槛是 和别的编程语言一样,Byte能响应的指令都是用英文定义的:比如前进是moveForward(),左转是turnLeft()。这对懂英语的人而言是没任何问题的,但对于不会英语的人,就没这么直观了。
领取专属 10元无门槛券
私享最新 技术干货