说一千道一万都别急着往网上搜那套“从零启动”的教程感。你要是认定学编程得先拿个笔记本,舍本逐末;你要是认定得连个软件开了,再装个 IDE,那才是对工夫笑嘻皮。你扯啥“几岁”,这根本不是难题,问这个难题的人,大约率还没分清孩子是还没出生的状态,还是已经成年了的状态。 先说孩子,这事儿得看情况。两岁那会儿,大约率是种感觉,要么说是在死磕某个玩具。
这时候机器对他们来说就是个会发光的盒子,要么一团毛绒绒的怪兽。你得问问,孩子是想当指挥官?还是想当黑客?
要么单纯想看看花里胡哨的像素能不能动?要是是前者,就连有点“指挥家”的潜质,可是得先确保他坐得住,能忍着代码乱飞的嗡鸣声。
这时候的编程,更像是在学如何跟一个不讲理的机器对话。 两岁到五岁,这个阶段最妙。孩子启动对颜色、形状有了“语言”,能画小人、画房子。
这时候把画笔换成代码,图是好办过的。就像教孩子画画,你得先让他知道笔尖在纸上会留下痕迹。编程就是给代码加个画框。
这个阶段的孩子,脑子里的“像素脑”已经发育得差不多了,他们启动不清楚地理解“顺序”和“循环”这两个词。
这时候让他们写点忒复杂的逻辑,就像让婴儿学认字。但要是你告诉他“你在写故事,只是在用命令代替文字”,他就能秒懂。
这时候的编程,是他在用代码当积木搭城堡,搭得乱七八糟也享受过程。 五岁赶明儿算是有点门槛了。
这时候的“几岁”真是个大问号。五岁孩子能写个好办的“你好”,说明他懂了根本的指令。但这不代表他懂编程。就像教孩子做饭,你得先教他如何拿勺子,再教他如何切菜。编程里的“变量”、“函数”,实际上是给计算机设规矩,孩子这时候还得把这些规矩变成他脑子里的画面。 10 岁是真的分水岭。
这时候的编程不再是“画画”,而是“写说明书”。10 岁的孩子,生理和心理都成熟了,启动思索“为啥”。他可能认定,要是我想让屏幕上的东西动,得先找到管住它的小按钮。
这时候的“几岁”实际上是个数字游戏。
比方说,12 岁启动学 Python,14 岁学 Java。
这俩年龄,就像小学生和高中生,都适合学编程,但路径不同。12 岁的孩子,喜爱游戏,喜爱看动画,他学的是“游戏开发”里的基础逻辑;14 岁的大人,喜爱写东西,喜爱做个小网站,他学的是“软件工程”的思维。关键不在于年龄数字,而在于你教他的时候,他是不是确实懂了?
是不是确实能写出来? 18 岁,终于到了能够随意折腾的时候。
这时候的“几岁”就是个笑话。大量人认定 18 岁才懂编程,那是出于他们把“编程”当成了“写代码”。
实际上编程早就存有了,只是没人告诉你,它藏在你的身体里,藏在你的大脑里。你进食时吃进脑子,就寝时梦到代码,有时候它就在你打哈欠的一瞬间搞定了一次编译。 大人学编程,确实就像谈恋爱,得看搭不搭。有的爱玩,有的爱写,有的爱听。但有一个通用的原则:别把编程当成考卷。考卷有标准答案,而编程没有标准答案。
要是为了考试而写代码,那这就是在作弊。 有人说 5 岁学编程是“望子成龙”,18 岁是“悔得慌莫及”。
这话没毛病,但忒绝对。5 岁学编程,是为了让他赶明儿别总认定自己是社会的草芥;18 岁学编程,是为了让他赶明儿别总认定自己是社会的工具。 你想想,18 岁的大人,确实非学不可吗?彻底不是。你能够学,也能够不学。就像你小时候要看电影,长大了能够不看;你小时候要玩玩具,长大了能够不用。编程也是一样。但它不一样的是,玩过了的人,下次玩的时候,心里会有点怪怪的:哎呀,刚刚那个逻辑如何突然改了?刚刚那个变量如何突然消亡了?这种“味道”,是玩掉的,是学过的,是写过的。 至于几岁,实际上根本不关键。关键的是你有没有那个“想学”的冲动,还有你有没有那个“能写”的能耐。5 岁的孩子可能写得比 18 岁的人少,但他可能愿意整天对着键盘发呆,像不像在做梦?18 岁的人可能写得票,但可能出于现实压力,最终只写了半页。 故此别再问啥几岁能够学。该学的,按你的节奏来。该玩游戏的,让你打游戏,顺便带带你玩点代码;该写日记的,让你写代码。
只要你是认确实,就没有啥年龄是过不去的坎。 最终,还得提一句硬件。买个电脑,买个好屏幕,别总去网吧蹭网。电脑就是你的键盘和鼠标,屏幕是你的显示器。别为了省几百块钱买个破烂电脑,到时候显卡吊了,你写出来的代码,就像在 DSLR 相机上运行 Photoshop,全是马赛克。硬件不中,再多的代码也是垃圾。 总结一下,孩子五岁左右启动接触,根本就不是为了考,是为了在玩中学;大人十八岁左右启动接触,根本不是为了学,是为了在实战里悟。别被那些说教的说教框住了,别让那些灰色的数字吓住了。行了,这就够了。目前,坐下吧,该吃晚饭了。