编程网

第一批10后已经会编程了

2017-12-15

 


最近朋友圈已经被《第一批 90 后……》内容刷屏:出家、油腻、离婚、秃头...也许并不能形成什么实质打击...然而, 今天我们要告诉大家的是——当你以为人工智能离你还有点儿远的时候,第一批 10 后已经会编程了。




 90 后们会很快遇到下一个场景:


“你们家小孩子几岁学的编程啊?诶哟三岁啊?太晚啦!我跟你讲哦,隔壁老王家孩子会说的第一句话就是「Hello world」啊!这出息,将来肯定能开两家谷歌的。”


——来自网友 TedNeverDie 的评论


没错,昨天一则新闻在我们极客圈刷屏了,那就是 Python 语言进入了山东省小学阶段的信息技术教材中。





Python 可谓是当下实打实的机器学习网红语言,山东省教育厅很前卫啊!


而各位 90 后们,你们居然还在大学期间的计算机通识课学 VB 耶  哈哈哈哈!





当然从形而上学的角度来说,语言也没有贵贱之分  山东省教育厅选择 Python 也并非表态 php 就注定不是世界上最好的语言了。


相对来说,Python 确实容易上手而且应用场景比较广泛,初期用来开拓小学生的逻辑思维还是比较合适的。当然这其实也意味着,在小学阶段试水的 Python 很有可能在未来替换掉高中、大学的 VB 内容啦!撒花!



幼儿适合学编程吗


今年 7 月,国务院印发《新一代人工智能发展规划》提到了实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广。建设和完善人工智能科普基础设施,充分发挥各类人工智能创新基地平台等的科普作用,鼓励人工智能企业、科研机构搭建开源平台,面向公众开放人工智能研发平台、生产设施或展馆等。支持开展人工智能竞赛,鼓励进行形式多样的人工智能科普创作。鼓励科学家参与人工智能科普 




所以这种问题有什么好多问的呢?国外都有婴幼儿量子力学图书了,小朋友学个编程一点毛病也没有 


比如 2014 年 9 月起,英国政府学校 5 岁以上学生就必须修读一门课程,那就是电脑程序编写。


又比如奥巴马在他最后一年总统任期的国情咨文中也提出过一项《面向所有人的计算机科学教育》(Computer Science For All)的新计划。他建议在未来几年美国政府应当向每名 K-12(美国“义务教育”) 学生提供计算机和数学课程,让他们为未来的工作做好准备。


而在今年,日本文化省则通告从 2020 年开始,编程教学也将列为小学必修课程。




斯坦福大学客座教授,百度前首席科学家吴恩达就曾在 Quora(国外的高级“知乎”)回答过一个问题:


I have a toddler. How should she prepare herself for the job market 15 years from now in the world of AI? Should I teach her Python as soon as she is willing to learn?


我有一个还在蹒跚学步的女儿,她应当为在15年后的人工智能世界里就业做什么准备?我是否应当在她愿意的时候尽快教她 Python 语言?


吴恩达的回复是:


Yes, do teach her to code. More importantly, cultivate in her the ability to keep learning.


是的,一定要教。更重要的是,以此培养她的学习能力。


当然计算机编程学习其实不分早晚,而 Python 也只是机器学习方向的一个选择之一,再泛认知计算和数据可视化领域,上手的一门语言的好办法第一要看书第二要实操。这里提供一份我们以前罗列过的书单《书单|数据科学的7本入门读物




Python 好学吗


那么各位家长和已经输在起跑线上的 90 后肯定对 Python 本身很好奇吧?其实用 Python 学习写个初级爬虫,或者绕过不可描述网站的会员密码都并不是难事。而且从第一步开始,我们就能看出它的简洁性,比如输出、注释



比如做一些复合运算


而极客圈里有一首著名的小诗《The Zen of Python》。小诗由 Tim Peters 所写,在 Python 命令行里打 import this 就可以看到这些内容:


Beautiful is better than ugly.
1,美比丑好

Explicit is better than implicit.
2,显式(清晰、明确)比隐式(含蓄、暗示)好

Simple is better than complex.
3,简单比复杂好

Complex is better than complicated.
4,复杂比繁复好

Flat is better than nested.
5,平坦(扁平)比嵌套好

Sparse is better than dense.
6,稀疏比稠密好

Readability counts.
7,可读性很重要

Special cases

aren't special enough to break the rules.
8,特例不应破坏原则

Although practicality beats purity.
9,虽然实用性胜过纯粹性

Errors should never pass silently.
10,错误不应被默默放过

Unless explicitly silenced.
11,除非明确要求默默放过错过

In the face of ambiguity,

refuse the temptation to guess.
12,在含糊(不明确)面前,拒绝猜测(推测)

There should be one

--and preferably only one

--obvious way to do it.
13,应该有一个明显(显而易见)的方案完成任务,

而且最好只有一个明显的方案

Although that way may not be obvious at first

unless you're Dutch.
14,哪怕这个方案不那么显而易见,

因为除非你是 Python 之父才可以一击致命。


Now is better than never.
15,现在做比永远不做好

Although never is often better than *right* now.
16,虽然永远不做通常好过马上就做

If the implementation is hard to explain,

it's a bad idea.
17,如果很难解释一个实现,

这个实现不是个好方案

If the implementation is easy to explain,

it may be a good idea.
18,如果容易解释一个实现,

这个实现也许是个好方案

Namespaces are one honking great idea

--let's do more of those!
19,命名空间是非常好的理念,

我们应多多使用



人  生  苦  短,  快  用