python背后是一场技术运动。

官方说法,python是一种解释型语言,指的是一行一行地解释和执行代码,就像同声传译一样。你每说一句话,他都能不间断的翻译给你听,把你说的话(意思是书面代码)翻译成机器能听懂的语言。对于机器来说,这些翻译出来的语言就是机器语言,也就是指令。机器收到指令后,会根据指令进行相应的操作。

与解释语言相比,还有编译语言,通过一个编译器把代码翻译成机器语言,然后交给机器执行。比如我们主办了一个会议,有英国人、俄罗斯人、西班牙人参加,三个人都自带同声传译。如果是解释性语言呢?我开会的时候用的是每个同声传译都能听懂的语言,是官方语言。这样我就可以用这种语言持续交流了,因为这些翻译会同时为来自三国的与会者翻译成目标语言。你应该已经注意到解释性语言类似于普通语言。如果是编译过的语言,我会在这里请三位翻译将我的中文演讲分别翻译成英文、俄文和西班牙文。在会议上,我只需要把它交给出席会议的国际友人阅读。解释性语言侧重于能够实时解释翻译的普遍性特征,而编译性语言侧重于针对性和预先准备的特征。但是在一个会议中,口译的效率并没有那么高,因为同声传译需要时间做翻译,而编译的效率更高,因为翻译工作在会前就已经做好了,只需要与会者理解并执行即可。

1989圣诞节那天,荷兰程序员吉多·范·罗苏姆在家度假,无聊至极。为了打发时间,他开发了一种新的解释性语言。可见程序员无聊的时候就是在写代码。因为作者非常喜欢Monty python的飞行马戏团,所以选择python作为这种新语言的名字。我想不是每个人都知道这部喜剧,但你可能听说过python。可能前几天微信给你推了一个python相关的培训广告。可能有些学校已经把掌握python的基本概念作为选修课了。也许你的智能家居中操作系统的一些核心代码是用python实现的。也许你手机里有一个插件也是用python实现的。python现在应用广泛,功能非常强大。

Guido曾经在荷兰数学和计算机科学研究所工作,在那里他为ABC编程语言工作了很多年。ABC语言看起来像这样

这是一个你可能不理解的函数。根据英语单词,你也许能猜出一些东西。我只是想让你知道python的长度差不多,比较好理解。

虽然ABC是一门编程语言,但它的定位是作为教学或原型设计的工具,是专门为学校老师或研究人员设计的。农行的定位决定了它的受众不是很广,也有使用门槛。不懂计算机的人,不学一段时间,可能根本无法入门。所以ABC不能作为通用的编程语言,在业界也不可能成功。ABC虽然没有python成功,但可以说是“python之母”,作者在很多地方都借鉴了ABC,取其精华,去其糟粕。现在的python是这样的。

可能对于没接触过编程的人来说,两者都一样,都是一堆英文字母,我看不懂。但是对于计算机课程的初学者和需要学习C语言的人来说,python更容易理解。Python很短,一些复杂的流程在C语言中可能需要几十行代码,而在python中,可能只需要几行代码。当然,不同的业务场景可能不是这样的,但总的来说,用python开发效率是很高的。Python适合新产品的快速开发和快速迭代。

1999 1月,也就是语言问世后的10年,圭多向DARPA(国防高级研究计划局,美国国防部负责科学研究的下属机构)申请资金。我去看了申请的修改版,是8月份提交的,1999。修订版比第一版更概括、信息量更大、更清晰,值得一读。

修订版名为《人人电脑编程》。从字面上翻译,就是针对每个人的计算机编程,翻译成通俗易懂的话——人人编程,人人编程是一种社会现象,每个人都有一定的编程能力,对计算机、软硬件如何工作、软硬件的一些设计规范都有一定的了解。他们可以通过编程表达自己的想法,通过编程配置自己的软件,通过编程控制自己。比如你在某宝买了一个扫地机器人。机器人支持定义扫地路线,设置扫地机器人。当扫帚需要更换时,指示灯会显示指定的颜色。你知道扫地机器人能做什么,它的操作习惯是什么。这是基于你对一些机器的了解。如果你用过很多软件,或者参与过软件设计,你大概知道有些软件可能会有“设置”、“编辑”、“帮助”等菜单键。这种设计思维,或者说操作习惯,在很多软件中都有。有了这样的了解,你在面对众多同类型的软件或产品时,大概就知道从哪里入手,它有什么功能了。现在大家都了解计算机了,计算机的一些概念或概念可以说是常识的一部分。面对一些电脑或者智能设备,我们大概知道用在哪里。我觉得这是作者的眼光。

修订版有几个主要目的:

在这里,他想从推广python开始,因为python作为一个适合快速开发的工具,无论是专家还是初学者都适用,而且python有一个活跃的、不断增长的用户群体,对他的应用也很感兴趣,愿意为之努力。Python有大量的用户,说明它已经得到了市场的认可,这个用户群体愿意为python的发展做贡献,这对于一个编程语言来说是最好的。

提案的基本论点写得很好。他说,他想普及计算机应用,但不是通过推出新硬件或新软件,而是让每个人都有编程的能力。信息技术的发展给了人们各种功能强大的电脑,这些电脑以台式电脑、笔记本电脑或者嵌入式系统的形式存在。如果用户对软件设计和实现有一个大致的了解,将会极大地促进生产和创作,对未来产生深远的影响。想象一下,如果你有修改和配置软件的能力,你可以通过社区网站与他人分享你的修改。如果别人遇到同样的问题,可以参考你的方法。这种能力在紧急情况下非常重要。你可以尝试自己解决这些问题,而不需要等待专家来为你解决。说到这里,你有没有想过贴吧或者论坛?论坛有很多版块,不同领域分不同版块。如果你想root一部手机(手机越狱是指解除手机厂商的限制,获得手机用户的最高权限,以达到对手机的某种控制),可以去论坛的root版块找答案。这种形式可谓和圭多所说的一样。如果你对自己的手机或者电脑有了更深入的了解,你可以通过编程来改进你的输入法,或者改变你显示器的冷暖色等等。,对你的人生有帮助。圭多想在这里达到这种境界。简单来说,大家都懂点电脑,有处理电脑问题的能力。

为了实现这个目标,作者制定了一个五年计划,内容如下:

五年计划是渐进的,由浅入深。1999年3月,美国国防部对此做出回应,同意拨款给他。作者的五年计划在1999年底实施。虽然想提前5年,但是只收到了1年的资金支持。但是作者并没有放弃这个项目,一直推下去,直到停止了python的工作。美国国防部当时给他们提供了多少钱?我没有看到官方数据。据2013报道,DARPA向Continuum Analytics提供了300万美元,用于开发python的数据处理和数据可视化工具。具体数字是否可靠尚不清楚,但可以看出美国国防部已经批准了该项目,并提供了资金支持。Continuum Analytics有一个著名的工具叫Anaconda,可以理解为python+各种科学计算库的工具箱。Anaconda官网有这么一句话。

Continuum Analytics的Anaconda是一个使用python的领先开源科学计算平台,我们将超能力赋予那些正在改变世界的人。

我在查资料的时候发现了一个wiki论坛,里面对这个项目进行了评价,列举了项目的成功与失败,以及一些社会人的看法。论坛的结论是,这个项目的成功在于:

这个项目的失败在于:

回想我第一次学python的时候,我觉得这个总结很公平。Python确实很容易上手,有编程基础的人可能只需要一个星期就能掌握python的一些基本语法。与C语言相比,python对初学者非常友好,容易上手。但是,要深入理解python并不是那么简单,需要大量的时间去磨练。用python接手一个项目,需要花一些时间和精力去熟悉它,了解里面的逻辑,这对于初学者来说是不可避免的。对于一个程序员来说,要想象未来计算机的普及应用,以及用户的认知水平,还有自己能做什么,如何实现,要有这些远大的抱负,对笔者来说,并不容易。西方世界常说“改变世界,让世界变得更好”,作者也确实做到了。他设计的python在计算机界扮演着非常重要的角色。如果可以通过技术改变世界,python就是改变世界的步骤之一。1980到2000年,美国给了科技公司政策支持和技术扩散。这一时期涌现出了IBM、惠普、思科等科技公司,知名的微软、苹果也在这一时期上市。Python可以说是这场科技运动的一个缩影。在科技浪潮的推动下,python取得了长足的进步。

很多与技术或行业相关的网站会根据当年编程语言的流行程度进行排名,他们会列出当年业内最流行的编程语言。其中IEEE Spectrum和TIOBE的2021编程语言是python,如果我没记错的话,TIOBE的2020编程语言也是python。可见python很受欢迎,是“网络名人”的编程语言。如今,python出现在许多计算设备上,从智能家居、手机和智能手表到锂离子电动汽车、工业控制车床甚至航天飞机。当你在浏览网页时,右下角会弹出一个“7天python入门”的广告。可见python还是有很多需求的。因为有需求,才会有人打广告,找培训机构。

作者在给美国国防部的建议书里写道,想和高中或者大学合作设计一些python课程,针对不同年级设计不同层次的课程。现在,他真的做到了。现在,哈佛、密歇根大学等顶尖大学都有python课程。python在这些大学的CS(计算机科学)课程中被广泛使用,可以说是CS入门的教学工具。在一些高级课程中可以看到Python,比如数据科学、人工智能等。这是因为学术界和工业界为python提供了一些处理科学计算和大数据的工具,这也归功于美国国防部的支持。美国有很多编程夏令营,针对不同年龄段有不同的课程,也有很多支持python代码的编程比赛。谷歌在coursera上有一个面向初学者的课程,叫做Google IT Automation with Python。完成课程需要8个月左右,建议每周花5个小时学习。课程结束后可以获得谷歌颁发的证书。可以看出,无论是产业界还是教育界,对python都有不同程度的支持。插一句,谷歌搜索引擎的第一个版本是用python写的,作者在谷歌工作过一段时间。

如今每隔一段时间就有一次PyCon活动,汇集了世界各地的开发者。每年都有开发者展示自己使用python的成功案例,或者对python的新功能或缺陷发表自己的看法。可见python用户社区一直都很活跃。这让我想起了一款新能源车,它的用户粘性非常大。一位车主告诉我,他们有一个新能源汽车高管的微信群。很多车主愿意在里面指出问题或者提出建议,因为这些高管会对问题或者建议做出相应的反馈。用户愿意发表意见,产品经理也愿意敞开心扉,采纳很多建议。这并不容易。python社区也类似。

几年前,你看过人工智能“网络名人”的编程语言python进入山东小学课本的新闻吗?这是一条2017的新闻,讲述了Python进入山东省小学六年级课本的故事。作为“网络名人”的编程语言,是否适合低龄学生就不细说了,但可以看出国内有些地方把编程作为一种比较基础的能力来考虑。python渗透到低龄是否合适?我在翻资料的时候,看了一眼高丽大学的一篇论文。论文讲述了小学生学习python会遇到一些困难,比如经常少打括号,经常拼错单词,经常遇到语法错误,以及对这些现象的看法。另外,南京师范大学有一个报告,讲的是中学生在学习python的时候,采用问题导向的学习模式。我理解是案例教学模式,有利于学生培养计算机思维,帮助学生理解一些计算机相关概念,解决计算机相关问题。

python是否适合低龄学生,我觉得这是一个值得探讨的话题。最后,我想问你,你会让你的孩子学python吗,你什么时候开始学Python?当宝宝因为不知道放几个支架而哭的时候,你能帮他吗?需要请程序员辅导宝宝吗?

puter world . com/article/2711690/python-gets-a-big-data-boost-from-DARPA . html

/?每个人的计算机编程

/en/publications/an-对小学生困难的分析

/2065 438+06/04/kings-day-speech . html

/intv/guido.html

/JF img/colimg/upload/20200113/68981578882847978 . pdf