python背后是一项科技运动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python背后是一项科技运动相关的知识,希望对你有一定的参考价值。
参考技术A比较官方的说法,python是一种解释型语言,解释型语言是指代码一行一行的解释执行,就好像有个 同声传译 ,你每说一句话,他都能不间断地给你翻译,把你说的话(意指写好的代码)翻译成机器能够理解的语言。对于机器来说,这些翻译后的语言就是机器语言,就是指令,机器收到指令后,就会根据指令执行对应的操作。
与解释型语言相对的,有编译型语言,编译型语言则通过编译器先将代码翻译成机器语言,再交给机器去执行。举个例子,我方主持了一个会议,参会的分别有英国人、俄国人和西班牙人,他们三方都带了自己的同声传译。假如是解释型语言呢,我在开会的时候用一种每个同声传译都听得懂的的语言,也就是一种官方用语。这样我可以不间断地用这种语言来做交流,因为这些翻译人员都会为这三国参会人员同步翻译成目标语言,你应该也注意到了,解释型语言类似于一种通用的语言。而如果是编译型语言呢,我会让我这边的3个翻译人员将我的一份中文演讲稿,分别翻译成英文版的、俄文版的和西班牙语版的,在开会的时候,我只要交给参会的国际友人去翻阅就好了。解释型语言侧重的是一种通用的、能够实时解释翻译的特性,而编译型语言侧重的是有针对性、提前准备的特性。然而,在开会的时候,解释型效率是没有那么高的,因为需要同声传译消耗时间去做翻译,而编译型的效率会高些,因为翻译工作已经在开会前做好了,只需要参会人员理解并且执行就好。
1989年的圣诞节,荷兰程序员Guido van Rossum( 吉多·范罗苏姆 ,以下简称吉多)在家休假无聊,为了打发时间,他开发了一种新的解释型语言。可见,该程序员无聊的时候,就是写代码。因为作者非常喜欢 Monty Python\'s Flying Circus (巨蟒剧团之飞翔的马戏团,这是英国的一个电视喜剧),就拿python作为这个新语言的名字。我想大家不一定都知道这部喜剧,但是可能都听说过python,可能微信在几天前给你推过python相关的培训广告,可能一些学校已经将掌握python基础概念作为一门选修课,可能你的智能家居里的操作系统有一部分核心代码是用python实现的,可能你的手机里有一个插件也是用python实现的,python现在的应用范围非常广泛,功能也非常强大。
吉多之前在 荷兰数学和计算机科学研究学会 上班,在那里,他为ABC编程语言工作了好多年。 ABC语言长这样的
这是一个函数,你也许看不懂,根据英文单词,或许可以大概猜出点什么。这里只想让你知道,python也差不多长这样,相比较会更容易理解些。
ABC虽然是一门编程语言,它的定位是作为教学或原型设计的工具,是专门为学校老师或者科研人员设计的。ABC的定位决定了它受众不是很广泛,并且它也有使用门槛,对计算机不了解的人,没有经过一段时间的学习,可能根本就上不了手。所以,ABC并不能作为一门通用的编程语言,在业内也无法获得成功。虽然说ABC没有python那么成功,但是ABC可以说是"the mother of python",作者在很多地方都借鉴了ABC,取其精华、取其糟粕。现如今,python是长这样的
可能对于没接触过编程的人来说,它们两不都是一样的,不都是一堆英文字母么,我都看不懂。但是对于初学计算机课程,那些需要学习C语言的人来说,python相比较算是更容易理解了。python非常简短,一些复杂的流程,在C语言中,可能需要几十行代码,但是在python中,可能就只需要几行代码。当然不同的业务场景,可能不是这样的,但是普遍情况下,用python的开发效率是非常高的。python适合快速开发,适合产品快速迭代出新。
1999年1月,也就是语言面世的10年后, 吉多 向DARPA(Defense Advanced Research Projects Agency,美国国防部一个负责科研的下属机构)申请资金。我去翻了下该申请的修订版,修订版在1999年8月份提交,修订版比第一版内容更具有概括性,并且内容翔实,条理清晰,值得翻阅。
该修订版叫 Computer Programming for Everybody ,直译过来,就是针对每个人的计算机编程,翻译为通俗易懂的词——人人编程,人人编程是一种 社会 现象,每个人都有一定的编程能力,并且对计算机有一定的认识,了解软硬件是怎么运转起来的,了解一些软硬件的设计规范,能够通过编程来表达自己的想法,能够通过编程来配置自己的软件,通过编程来控制自己的机器,以改善自己的生活。举个例子,你在某宝买了一个扫地机器人,该机器人支持定义打扫路线,支持设置扫地机器人在需要更换扫把的时候,指示灯显示指定的颜色。你知道扫地机器人可以做什么,有什么操作习惯,这是基于你对一些机器的理解,如果你用过很多软件,或者参与过软件的设计,你大概都知道一些软件可能都有“设置”、“编辑”或“帮助”等菜单键。这种设计思维,或者操作习惯,都是很多软件都有的,有了这种认识之后,你面对很多同类型的软件、或者同类型的产品,就大概能够知道从那里入手,以及对它有什么功能,都有一个初步的期待或者认识。既然大家都了解计算机了,那么计算机的一些概念或者说是理念,可以说是属于常识的一部分,面对一些计算机或者说智能设备,也大概知道从哪里上手使用。我觉得这就是作者要达到的愿景。
该修订版主要有几个目的:
在这里,他想从推广python开始,因为python作为一门适合快速开发的工具,既适合专家,也适合初学者,同时python有一个活跃的且不断增长的用户群体,这个用户群体对他这个申请也非常感兴趣,愿意为之努力。python的用户数多,说明已经在市场得到了一定的认可,并且这个用户群体也愿意为python的发展做贡献,这对于一门编程语言来说,最好不过了。
该提案的 基本论点 部分写得很好,他说他想普及计算机应用,但并非通过介绍新的硬件,或者新软件这种形式,而是通过赋予每个人编程能力来实现。信息技术的发展给了人们各种强大的计算机,它们以桌面电脑、笔记本电脑或者嵌入式系统的形式存在,如果用户在软件设计和实现上有一个通用的认知,那将会极大地促进生产和创造,并且对未来有深远的影响。试想一下,如果你有一种修改和配置软件的能力,并且你可以把你的修改通过社区网站分享其他人,其他人碰到同样的问题的话,就可以参照你的方法。这种能力在紧急的情况下是很重要的,你不必等专家来给你解决问题,你自己就可以尝试解决这些问题。说到这里,你有没有想起贴吧,或者论坛,论坛有很多个板块,不同的领域分不同的板块,假如你想root手机(手机越狱,指解除手机厂商的限制,获取手机的用户最高权限,以实现对手机的某种控制),你可以到论坛上root板块找答案,这种形式可谓跟吉多提到的是一样的。如果你对你的手机或者电脑有更深入的了解,你可以通过编程改善你的输入法,或者改变你的显示器冷暖色等等,这些都是对你生活有帮助的。吉多在这里就是想达到这种状态,简单点说,人人都对计算机有一定的了解,且都有处理计算机问题的能力。
为了实现这个目标,作者制定了5年计划,这个5年计划如下:
5年计划循序渐进,由浅入深。1999年3月,美国国防部对此进行了回应,同意拨款给他。作者的5年计划在1999年底开始实施,虽然想推进5年,但是只收到1年的资金支持。不过,作者还是没有放弃这个项目,一直推进,直到他不再参与python的工作。当时美国国防部对他们提供了多少资金呢,我没看到官方公开的数据。2013年有报道称,DARPA向Continuum Analytics提供3百万美元的支持,让该公司给python开发数据处理以及数据可视化工具。具体数字是否可靠,这个尚不清楚,但管中窥豹,可见美国国防部对该项目表示认可,并提供了资金支持。Continuum Analytics有一个比较有名的工具,叫Anaconda,Anaconda可以理解为是python + 各种科学计算库的工具箱,Anaconda官网有这么一句话
翻译为“Continuum Analytics的Anaconda是使用python的、领先的开源科学计算平台,我们赋予那些正在改变世界的人超能力。”
在查资料的时候,我发现了一个wiki论坛, 该论坛对该项目进行了评价,论坛列出了该项目成功的地方和失败的地方,以及一些 社会 人士的看法。论坛这样总结道,这个项目成功的地方在于:
这个项目失败的地方在于:
回想自己初学python的时候,我觉得这个总结是很公正的。python确实容易入门,有编程基础的人可能只需要一个星期就能掌握python的一些基本语法。相比C语言,python对于初学者是很友好的,很容易让人上手。但是,要深入理解python,并没有这么简单,需要花很多时间去磨练。接手一个使用python的项目,你需要花一些时间精力去熟悉,去摸透里面的逻辑,这对于初学者来说,是无法避免的。 对于一个程序员来说,作者能想象到以后计算机的普及应用,以及用户的认知水平,还有他能够做什么,通过什么来实现,能有这些远大的抱负,这是非常不容易的。西方世界经常说到“change the world,make the world a better place”,作者也确实做到了,他设计的python在计算机世界里扮演者一个非常重要的角色。如果通过 科技 能够改变世界,那么python就是改变世界的其中一步。1980-2000年,美国对 科技 公司是政策扶持、技术扩散,这期间涌现了如IBM、HP、思科等 科技 公司,大家熟知的微软和苹果都是在这期间上市的。python可以说是这个 科技 运动的一个缩影,在 科技 浪潮的推动下,python得到了长足的发展。
很多 科技 或工业相关的网站会根据当年编程语言的流行度做下排名,它们会列出当年在业界最受欢迎的编程语言。其中,IEEE Spectrum 和 TIOBE 的2021年度编程语言是python,如果我还没记错的话,TIOBE的2020年度编程语言也是python。可见python是非常受欢迎的,用现在的话讲,就是“网红”编程语言。现在,很多计算设备上都有python的身影,小到智能家居、手机、智能手表,大到锂电车、工控车床、甚至航天飞机都有python的身影。你可能在浏览网页的时候,右下角弹出一个“7天python入门”的广告,可见python现在还是有很多需求,因为有需求,所以才有人去投广告,才会有人去找培训机构。
作者在给美国国防部的提案中写到,他想跟高中或大学展开合作,设计一些python的课程,针对不同年级,设计不同水平的课程。现在来看,他确实是做到了,现在哈佛、密歇根大学等排名靠前的大学,都有python课程,python在这些大学的CS(计算机科学)课程中应用非常广泛,可以说是作为CS导论的一个教学工具。在一些比较高级的课程,比如数据科学、人工智能等都可以看到python的身影,这是因为学术界以及工业界为python提供了一些处理科学计算和大数据的工具,这也归功于美国国防部的支持。美国有许多编程夏令营,针对不同年龄段有不同的课程,并且也有许多支持python代码的编程竞赛。Google在coursera上有一个面向初学者的课程,该课程叫 Google IT Automation with Python,完成课程大约需要 8 个月,课程建议每周花5小时学习,课程结束后就可以获得Google颁发的证书。可见,不管是工业界,还是教育界,都对python有不同程度的支持。这里打个岔,第一版的Google搜索引擎还是用python写的,作者也在Google工作了一段时间。
现如今,每隔一段时间,就有一个PyCon活动,这个活动汇聚世界各地的开发者,每年都有开发者来展示他们使用python的成功案例,或者表达自己对python的新功能或者缺陷的看法。可见,python用户社区一直都是很活跃的。这让我想到了某新能源 汽车 ,该 汽车 用户有很高的粘性,有一位车主跟我说过,他们有一个微信群,里面有该新能源 汽车 的高管,很多车主乐意在里面指出问题,或者提建议,因为这些高管会对问题或者建议做出相应的反馈。用户愿意提意见,产品经理愿意广开言路,采纳多方建议,实属不易。python社区也差不多如此。
几年前,你是否看过一个新闻,《人工智能“网红”编程语言Python进入山东小学课本》,这是2017年澎湃网的一则新闻,里面讲了python进入了山东省小学六年级教材,作为一门“网红”编程语言,它是否适合低龄学生,这个倒是没细说,但是可见国内有些地方是把编程作为一种比较基础的能力来考量。python往低龄阶段渗透是否合适呢,我在翻资料的时候瞥到韩国高丽大学的一篇论文,论文讲述小学生在学习python的过程中会碰到一些困难,比如经常少打了一些括号,经常拼错单词,经常碰到语法错误,以及对这些现象的看法。还有,南京师范大学有一篇报道,讲述了中学生学习在学习python时,采用面向问题的学习模式,我理解是case by case的教学模式,这种模式有利于学生培养学生的计算机思维,以及帮助他们理解一些计算机相关的概念,解决计算机相关的问题。
python是否适合低龄学生呢,我觉得这个是值得讨论的话题。最后还要问你一句,你会让你的小孩学习python么,从什么时候开始学呢?你的娃因为不知道打多少个括号嚎啕大哭时,你能帮得上忙么?你到时候需要专门请一个程序员来给你的娃做家教么?
https://zh.wikipedia.org/wiki/Python%E8%BB%9F%E9%AB%94%E5%9F%BA%E9%87%91%E6%9C%83
https://www.python.org/psf/
https://www.computerworld.com/article/2711690/python-gets-a-big-data-boost-from-darpa.html
https://legacy.python.org/doc/essays/omg-darpa-mcc-position/
https://legacy.python.org/doc/essays/blurb/
https://www.python.org/doc/essays/cp4e/
http://wiki.c2.com/?ComputerProgrammingForEverybody
https://koreauniv.pure.elsevier.com/en/publications/an-analysis-of-the-difficulties-of-elementary-school-students-in-
https://www.frontiersin.org/articles/10.3389/fpsyg.2021.771221/full
https://zh.wikipedia.org/wiki/%E7%BB%88%E8%BA%AB%E4%BB%81%E6%85%88%E7%8B%AC%E8%A3%81%E8%80%85
https://gvanrossum.github.io//
http://neopythonic.blogspot.com/2016/04/kings-day-speech.html
https://www.artima.com/intv/guido.html
https://www.htsec.com/jfimg/colimg/upload/20200113/68981578882847978.pdf
对话李飞飞,揭秘国际体育赛事风“云”背后的黑科技
简介:众所周知,在重大体育赛事中,如何提高运动员的成绩,如何改善观众的参与体验,是体育组织越来越重视的问题。那么阿里云技术是如何帮助解决这个问题的呢? 今天,我们有幸邀请到阿里巴巴集团副总裁、阿里云智能数据库产品事业部负责人、ACM杰出科学家李飞飞为我们揭秘国际体育赛事风“云”背后的黑科技。
Q:作为一名数据科学家,在比赛中你最关注什么数据?
李飞飞:作为数据科学家,我关心大型体育赛事的一些关键指标。比如体育赛事在哪个国家或地区举办,比赛级别,也就是参赛运动员的竞争力如何,在同种赛事中他们的表现如何,是否处于领先地位,观众可以期待他们在比赛中有怎样的表现,关键运动员的过往成绩如何等等。
除此之外,作为一名数据科学家,我还关心运动员的生理数据,包括他们的耐力、力量、运动速度等。这些对我来说是关键指标,可以预测他们在比赛中的表现。还有一些环境因素,如观众支持谁、天气状况,以及所有推进成功的竞技比赛的因素。
Q:我们都知道运动员都要经过多年艰苦训练才能参加比赛,你能不能跟我们分享一下,我们的数据技术如何帮助运动员在训练期间提高成绩,如何给观众带来更好的体验?
李飞飞:我们以多种不同的方式使用数据驱动的数据分析来指导决策,在训练期间帮助运动员提高成绩。
例如,英特尔和阿里巴巴为运动员提供了互联工具。该技术旨在带来更深入的洞察力,使运动员的训练更高效。例如,在100米短跑比赛中,我们正在使用基于人工智能的技术来帮助运动员及其教练获得近乎实时的洞察力和叠加可视化,使解说员、教练和受训者都可以利用这些洞察。
该技术由英特尔硅谷总部开发,并托管在阿里云基础设施上。它结合了计算机视觉技术、数据库技术和被称为“3DAT”(3D Athlete Tracking)的数据驱动分析。该技术采用摄像头实时捕捉比赛情况,使用实时算法分析每个短跑运动员动作的生物力学,并结合该短跑赛事回放中产生的数据。这让运动员、教练和观众能够更好地享受比赛,改进训练计划,做出实时数据驱动的决策。
除了“3DAT”技术之外,我们还使用多种数据驱动的技术来帮助运动员、教练和观众在大型体育赛事中提高成绩,改善观赏体验。例如,我们将实时捕获比赛相关的数据,并将这些数据转储到数据库中。在数据库内部,我们进行复杂的分析和实时数据处理,以帮助赛事组织者、观众、运动员、教练和所有参与者更好地享受比赛,做出数据驱动的决策。例如,有多少观众观看某场比赛,实时天气状况如何,比赛相关的时间和空间情况如何。这些不仅结合了阿里云基础设施上的数据驱动技术,还结合了连接运动员、观众与物理世界的物联网技术,以便他们在比赛过程中更好地互动。以上这些结合在一起,让参与者在一场大型体育赛事中获得无与伦比的体验。
Q:那阿里云数据库又如何支撑大型体育赛事呢?
李飞飞:阿里云致力于提供世界领先的数据库产品和技术,以提高大型体育赛事的运营效率和有效性,从而提升运动员、观众和工作人员的体验。我们通过支持这种大型体育赛事展示了数据库技术,尤其是云原生数据库产品和技术如何为不同行业带来变革。
大型体育赛事是一项复杂工程,涉及竞赛、技术、物流、交通、媒体运营等数十个职能部门。一场大型体育赛事往往需要主办城市花费近十年的时间来准备,力求让每个方面都尽善尽美。而成功完成这个任务的关键是利用与比赛相关的所有数据,将整个过程数字化。也就是说,数字化是最关键的。数十个职能部门依靠云原生数据库技术的高性能做出所有实时数据决策,为部门协作、运营和数据分析发现有用的洞察,帮助运动员、观众、赛事组织者等更好的参与组织比赛。
为此,阿里云数据库产品,包括我们的RDS、NoSQL数据库、云原生关系型数据库PolarDB和云原生数据仓库AnalyticDB,被用于支撑大型体育赛事的复杂的活动管理系统,如竞赛日程服务、后勤运营以及所有赛事运营相关事项。这对于大型体育赛事至关重要,是大型体育赛事顺利承办的基础设施。
所有与赛事相关的数据都在阿里云数据库平台上实时写入和处理。这确保了数据在阿里云RDS上100%安全、100%可靠且被实时处理。我们确保跨AZ高可用性、弹性以及横向可扩展性。所有这些关键特性对大型复杂体育赛事的成功运营至关重要。除此之外,我们还提供数据仓库解决方案,如使用我们的云原生数据仓库AnalyticDB来帮助运动员和赛事组织者做出更好的决策,从收集的数据中获得洞察。总而言之,我们为大型复杂体育赛事数据管理的整个生命周期提供一站式解决方案。
Q:能否为我们总结一下阿里云数据库拥有哪些优势?
李飞飞:阿里云数据库是全球数据库产品和技术的领先者之一,尤其是在云原生数据库产品和技术领域。正如著名的奥运口号“更高、更快、更强”一样,阿里云数据库的口号是“更快、更稳、更安全”。我们在响应客户需求方面不断取得重大进展,我们密切关注客户需求,将客户反馈纳入我们世界领先数据库技术的产品开发周期,致力于为客户提供最好的云原生数据库产品。
事实上,我们在2020年Gartner全球数据库魔力象限评估中,进入领导者象限。阿里云数据库市场份额在亚太地区排名第一,在全球所有云供应商中排名第四,在中国市场无疑是排名第一。我们的技术是业内最先进的技术之一,例如,我们的云原生数据仓库AnalyticDB在Forrester Wave最新云化数据仓库研究报告中进入“强劲表现者”象限,我们在业界广泛接受的标准TPC-DS基准测试中排名第一,这个基准测试用于评估数据仓库产品的性能和成本效益。
整合我们从关系型数据库、数据仓库到NoSQL数据库的所有产品,阿里云数据库提供一站式全链路数据库管理与服务。我们可以满足客户在整个数据管理生命周期的需求,从数据生产和集成到数据实时处理与存储,到数据分析和发现,最后到数据开发和管理。
在数据生产和集成阶段,我们的DTS、DBS和DMS分别代表数据传输服务、数据库备份服务、数据管理服务,提供从源头到任何目的地的一站式解决方案。在这两者之间,我们提供ETL和其他整体功能以方便我们的客户。
而在数据实时处理与存储方面,我们的云原生关系型数据库PolarDB和云数据库服务RDS提供了云原生解决方案,助力打造企业数据管理解决方案。结合自治服务,客户可以在我们的云平台上体验最好的云原生数据库服务。
最后,在数据分析和发现方面,我们的云原生数据仓库AnalyticDB,能够帮助客户从收集的所有数据中获得数据驱动的洞察。而使用我们的数据管理服务DMS,您就可以管理上述提到的所有服务和产品,无论是关系型数据库还是NoSQL数据库。我们的数据仓库提供一站式统一用户界面和平台,可满足与数据管理生命全周期相关的所有需求,如数据开发、安全问题、工作流管理等。
这就是我今天想分享的全部内容。希望您在观赏任何大型体育赛事时觉得我今天分享的内容有所帮助,您还可以在我们网站和其他渠道上找到更多关于阿里云数据库的信息。
原文链接:https://developer.aliyun.com/article/786338?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
以上是关于python背后是一项科技运动的主要内容,如果未能解决你的问题,请参考以下文章
解密体育背后AI黑科技:花样滑冰动作识别多模视频分类和精彩片段剪辑