导语:假如你一觉睡醒发现本身回到了小学……你恐怕就再也毕不了业了!node
文/ Udacity之肴python
编辑/ 安然、拇姬、优达菌程序员
特别感谢/ 王枫面试
本文首发于微信订阅号果壳网(id:Guokr42)算法
据澎湃新闻近日消息,山东省在其最新出版的小学信息技术六年级教材中,加入了Python的内容。在此以前,编程界也一直有传言,称浙江省将对中学信息技术教材进行改动,弃VB(Visual Basic 6.0)而选用Python。编程
事情真的会如程序员们期待的那样发展吗?Python语言又为何忽然受到了格外的重视呢?小程序
其实VB并没错,只是用它的人变了。微信
一样在1991年出如今人们的视野中,二者目前的地位却大相径庭:据最新的TIOBE流行编程语言排行显示,Python紧紧占据第4名的位置,而VB已掉到第20名,甚至还有大幅降低的趋势。网络
从2016年到2017年,第4位的Python地位稳固,VB则从第14位掉到了第20位。图片来源:tiobe.com架构
VB的衰落有诸多缘由存在。主因是微软的退场。2008年4月,微软宣布中止对VB的支持,转向C#和VB.net,致使社区青黄不接;再观国内教育市场,NOIP等信息奥赛在2005年就将BASIC语言移出可以使用项,人们对VB的刻板印象还停留在画几何图形、写九九乘法表等初级应用,在找工做求职时,也不多人会把它写在简历里做为掌握的计算机语言。换成一个更具活力的编程语言的需求迫在眉睫。
C/C++、Java、Python早已在旁边虎视眈眈已久,但为何Python独独受到了重视呢?
虽然C的语法简单明了,但必须得本身管理内存是一件很头疼的事;而Java的语法过于麻烦,致使新手过多关注语法而没法领会计算机入门的要点。Python是这三者中最好的计算机入门语言。在新手阶段你可能没法体会到C和Java的强大,却能够体会到Python的简洁。
这种语言极易上手,接近天然语言的风格,稍加熟悉即可很快熟稔于心。阅读 Python 代码就像是在阅读英语文章同样,让你更清晰地明白逻辑架构,没必要过分关注语言自己。这吸引了大批其余行业人士使用 Python 完成专业项目,你很容易会遇到懂 Python 的医生,会 Python 的会计师,甚至是用 Python 分析葡萄种类的酿酒师。
Python 开发者社区也因多元化元素的引入而蓬勃发展,不管是菜鸟码农仍是老司机,都能在充足的文档、教程中找到你想要的答案。使用 Python 的明星互联网公司也很是多,诸如Youtube、Dropbox、Quora、Instagram、Reddit,等等一些不知道存不存在的公司,核心业务都是基于 Python 开发的。
在VB占据中学生信息技术教科书这么多年之后,教学改革也该与时俱进了。固然,这背后还有几个大事件是“幕后推手”。
奥巴马在卸任前的最后一年里,提议大力推行基础教育,总投入40亿美圆,以确保每一名K12学生都能得到接触计算机教育的机会。
奥巴马于2016年1月30日的每周电视讲话宣布“CS For All”。图片来源:视频截图
继任者特朗普的规划则更为清晰,他预计在教育部每一年投入2亿美圆来增长K12学校对计算机教育的重视程度,同时要求教育部提交年度报告反馈成效。相信不管是支持或反对特朗普,人们都乐于看到政府对教育的重视。
在美国的顶级高校中,Python已经成为教授计算机科学入门课程方面最受欢迎的语言。
其中排名前10的CS系中有8个使用Python做为主要教学教学语言,MIT和UC Berkeley的计算机系最近甚至将其入门课程的计算机语言改为了Python。
最大的三个MOOC(Massive Open Online Courses)网站Coursera、edX 和 Udacity 也全都提供了 Python 语言的入门课程。
对大多数人来讲,编程是一件“大人的事儿”。Python又真的适合青少年从小学习吗?
从某种意义上来讲,这一点或许刚好是Python的优点。实际上,已经有很多年轻有为的少年英才经过Python取得不俗的成绩。
早在2013年,就有一位13岁的Python开发者朱利安·迈耶(Julian Meyer)在网站上发表文章,教本身的同龄孩子用Python作小游戏。
在这篇教程中,他经过一款本身设计的名为《兔子和獾》的塔防游戏来引导读者直接上手。从安装Python,到添加兔子的形象、动做,再到设计和反派獾的交互动做,最后添加声效和背景音乐,一个入门级的小程序由此成型。
迈耶用Python作的塔防游戏《兔子和獾》截图。 图片来源:winduino.co.kr
另外一名Python开发者、现年17岁的学生凯文·法兰斯(Kevin Frans)作出了更为惊人的成就:他以第一做者的身份发表论文《Meta Learning Shared Hierarchies》,提交到了机器学习顶级会议ICLR2018上。
法兰斯与他发表的论文。图片来源:twitter
在法兰斯15岁时,他就已经经过Python来训练神经网络了。受到玩Atari游戏的AI和AlphaGo相关报道的影响,他阅读大量论文而且复现了部分功能。吸取大量知识后,他创做了一个交互式网页,能够用漫画风格为素描画自动上色。
法兰斯的才能被挖掘的过程也颇为有趣。一次,法兰斯在试图解决OpenAI的一项开放问题时很有眉目,便写信给OpenAI研究员约翰·舒尔曼(John Schulman)寻求建议。来来回回讨论几回算法后,舒尔曼查看了法兰斯的我的博客才知道他是高中生,大为吃惊。后来法兰斯申请了OpenAI的实习资格,面试官正是舒尔曼,他也对此次法兰斯提交的论文赞不绝口:“他为这一问题提供了全新思路,部分结果已经超越前人所作。”
不管是Python仍是JAVA仍是C亦或是其余什么编程语言,最重要的都是教学方式。
若是只是单纯地者加进高考或者归入义务教育的范畴,而教学模式仍然仍是VB那种老一套,老师照着课本照本宣科,或者是纸上谈兵,围绕考点背诵学习作习题,开放机房让学生本身随便摸一摸,那么效果确定是不理想的。
在兴趣引导下学习,才能事半功倍,法兰斯就是很好的示范。做为初学者,若是带着目的、带着需求去学,进步就会很快。计算机编程自己是一个动手实践的项目,动手越多学的就越快、越好。无论Python会不会成为高考项目,这门语言都能为学习者带来无穷乐趣。
— 完 —
优达学城 Udacity
ID:youdaxue
硅谷工程师在学什么?如何保持职场竞争力?
关注优达学城,由谷歌无人车之父Sebastian Thrun创立
让你追随大佬,掌握机器学习、无人车开发等黑科技!
关注后回复“学习资料”
获取来自硅谷的【大数据求职指南】
@全部人,人生苦短,我用Python,来自硅谷的【Python 入门】基石纳米学位课程,已经开放报名。