中企动力 > 头条 > python未来的发展

网站性能检测评分

注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。

python未来的发展

Python,之父谈论,Python,的未来 互联网视频课程

img

韦翠琴

关注

(点击上方公众号,可快速关注)


英文:Paul Krill 

译文:伯乐在线专栏作者 - tsteho 

链接:http://python.jobbole/85631/

点击 → 了解如何加入专栏作者


作为一门已经开源25年、面向对象的动态语言,毫无疑问,Python近年来已经成为软件开发者主要的工具。大家喜欢它对程序员的友好性以及其框架和库丰富的生态系统。


InfoWorld:为了促进Python在移动计算领域出现,有什么事正在进行当中?当你想到移动计算,你通常想到的是用于Android开发的Java、JavaScript、Swift以及Objective-C。


Van Rossum:移动计算对我们来说仍然是一个很难攻克的平台。但是并不像浏览器平台那么糟糕,因为Python实际上能够运行在所有品牌的智能手机上。你只需要找到知道如何创建Python的版本的人就行了。


不幸的是,标准的CPython源码只能差不多,但是不完全,编译成一个能够正确地运行在一台Android或者iPhone手机上的二进制文件。有很多人对于推动Python在移动计算领域出现、贡献补丁和诸如一些你如何确认你是在一个Android平台的小事感兴趣。它正在前进,虽然并不如我所期望的那么快。但话又说回来,我并不开发移动应用,因此我并不是很有动力去让自己深入了解这些。但是我很高兴看到正在发生的事。


InfoWorld:Python将来会在浏览器中扮演类似JavaScript的角色吗,或者说这件事并不可能?


Van Rossum:这并不是我们的目标。


由于浏览器领域自身的结构,这真的很难有效地和JavaScript竞争。最好的方法就是将Python翻译成JavaScript。但是通常由此产生的程序的运行速度比用原生的Python写的程序慢,同时它的运行速度也将比用JavaScript写的类似的程序慢。不过,仍然有一些关于将Python翻译成JavaScript并且将它运行在浏览器中的令人激动的实验。


InfoWorld:当我们谈论JavaScript的时候,你对WebAssembly的印象如何?


Van Rossum:这实际上或许会提高让Python运行在浏览器上的可能。如果它是asm.js的替代品,那么它基本上消除了JavaScript作为唯一一种在网络上使用的语言的局限,同时它将JavaScript变成类似汇编的东西。就像当你写Python代码,然而底层的Python解析器是用C语言写的。而当你编译C语言的代码、将它翻译成机器码,同时在这之间也涉及到一些汇编语言。


如果我们不能在浏览器中消灭JavaScript,我们也许能让JavaScript成为任何想要在浏览器中运行的事物的唯一的翻译目标。那么Python和其他语言,如Ruby或者PHP,能有效的被翻译成底层的东西。


InfoWorld:你的意思是说WebAssembly给Python开发者提供了机会?


Van Rossum:我认为是的。但那之前不得不经历一个实验阶段,而那些觉得开发工具比制作应用程序更有趣的人获得了一个弄清楚让Python运行在WebAssembly上最好的方法是什么的机会。


InfoWorld:当我在2012年采访你的时候,Python因为它的性能而被指责。你那时告诉我它已经足够快了。自从那时起,Python的性能提升的怎么样?


Van Rossum:Python3性能已经赶上来了。Python3比2012年的时候快了不少。另外,有特定的Python版本,如PyPy,仍然存在。有一些新版的Python解释器旨在提高速度。


事实证明,有关Python性能的故事并不像人们讲的那么糟糕。因为Python大多数都是由C语言实现的,所以在做很多事情的时候,Python能够和C语言运行的一样快。对于大多数打算用Python来实现的事,我仍然坚信Python已经足够快了。


InfoWorld:开发人员为了让Python运行的更快,在Python3.x中有添加具体的特性吗?


Van Rossum:我们没有在Python3.x中添加新的特性。但在幕后,我们已经让语言的各个方面得到了提升,像引用计数,我认为快了一些。所有的这些只是一些微调,但是用户并不会注意到差异。并没有像“用一个不同的方式写你的代码,然后它变得更快”这类建议。那没有必要。


InfoWorld:你刚才提到过PyPy。你对像PyPy或者Futhark这样的项目的印象是怎样的?Futhark自动生成Python代码和其他语言的代码作为GPU代码的封装。


Van Rossum: 后者我甚至都没听说过。类似那样的事物通常是相当深奥的。它们是为那些正在做酷炫的、疯狂的东西的人而存在,因此可能并不能被典型的Python程序员直接使用。


但是PyPy是相当成熟的。如果在一个有多种用途的Python程序中你对它的速度有迫切的需求,观察用PyPy能否使得应用运行的更快是值得一试的。你可能遇到它运行的更慢的情况,因为你正在使用拓展模块,在拓展模块和你的Python代码之间来回切换时会略慢。


如果你正在做的大部分事依赖于拓展模块,CPython可能仍然是你该选择使用的。


InfoWorld:你对所有这些涌现在Python生态系统中的Python框架和类似Futhark这样的事物的发展感到吃惊吗?


Van Rossum: 每个人都想成为胜利队伍的一员。如果你了解下关于Python每年有多少个会议,有多少人来到像PyCon和EuroPython这样的大型会议,你会发现Python似乎是在通往成功的道路上。它无处不在,这令人感到兴奋。对于那些能够为了他们专门的项目而寻找场地的人,无论他们使用Python作为一个起点、一门支持语言还是一种灵感,我都不感到吃惊。


InfoWorld:为什么Python如今如此受欢迎?在语言人气指数上,像Tiobe, PyPL, GitHub, and RedMonk这类平台,它都做得很好。


Van Rossum:因为Python是容易学习,容易使用,社区是如此开放和乐于助人。


InfoWorld:你说过你是负责Python的人,但是有很多贡献者。你和贡献者分别占多少?


Van Rossum:关于这一点,在最近的5年或者更久之前,大多数来自于其他人。我偶尔给些我认为一个具体的想法能不能被接受的建议,通常是有关某些可能新添的语法。当涉及到库的时候,我很少刻意去干涉。有时候,我不得不告诉人们停止争论,通过一些妥协设法找到一个方法。


对于社区,我的目标是它能够自我维持,那么我能够完全退休或者休一趟长假。我希望并期望Python能够从其它语言或者某些活动领域吸收新的想法来演变自身。


我想要指出的一件事是关于SciPy and NumPy的举动。这些人正在介绍Python作为Matlab的替代物。它是开源的,它是更好的,他们能够改变它。他们正在将Python带到一个我从来没有预料到的领域。他们也创建了像Jupiter Notebooks这样能够在浏览器中显示交互式的Python界面的事物。在那个领域有许多难以置信的酷炫的作品正在诞生。


【今日微信公号推荐↓】

更多推荐请看值得关注的技术和设计公众号


其中推荐了包括技术设计极客 和 IT相亲相关的热门公众号。技术涵盖:Python、Web前端、Java、安卓、iOS、PHP、C/C++、.NET、Linux、数据库、运维、大数据、算法、IT职场等。点击《值得关注的技术和设计公众号》,发现精彩!

随着python的崛起,Java是否会在未来几年没落? 企业视频课程

img

雪莉尔

关注

随着社会进步,科技提升,人工智能的发展成为热门话题,越来越多人开始关注人工智能方面,而引人注意的便是它的编程语言, python,Java两种语言开始比较,首先咱们简单了解一下什么是python,Java。

Java它是一种通过解释方式来执行的语言,语法规则和C++类似,同时,Java也是一种跨平台的程序设计语言。Java非常适合于企业网络和Internet环境。

Python是一种面向对象的解释型设计语言,语法简洁清晰,同时它可以把别的语言制作的模块联结在一起,快速生成程序的原型。适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

现在java版本更新速度逐步变快(表明着java的繁荣),语言升级的趋势,必然是功能更强大,编程更简洁(注意我说的是简洁,不是简单)。而你所说的问题Java会不会没落,举简单的例子:就像C/C++,一直都不是很好的,而且历史也足够古老了。现在各种编程语言来了又去了,它们至今不依然坚挺的要死? Java也一样,我可以告诉你,Java虽说不是很棒的,因为Java中也有不少问题,没有一项东西是十全十美的,没有任何瑕疵,但python要取代Java可能性不大。

你要知道Java编程几乎涉及到我们生活中各个方面,例如:银行,电力、交通等领域的核心系统,都基于Java编程语言,如果你的想法是这样,那不等同于把所有的这些应用系统都替换掉?虽然说时隔几年就会新的语言代替Java,在贴吧,知乎等等平台开始随意预言,然后有人开始跟着起哄,都是无稽之谈。如果你在IT行业待的时间长了就能明白一个道理:语言是否被取代,是和整个环境有不可忽略的关系。

网络上面有些人觉得Kotlin会替代Java,这和Python,Java做比较是一样道理, Kotlin其实蛮好的,Kotlin本身依然是编译成.class文件,因此Kotlin几乎可以完全利用Java现有的各种工具库和框架,非常有吸引力。但说的那么好听,同样也是没有替代Java。再者说Python与Java语言定位不一样,虽然我们都清楚语言反面都会有所交集,但是它们的侧重点不完全一样。Python重视的是write once,翻译就是尽量别做功能重复的事,偏重于数据处理,自动化运维方面。一个做计算和脚本,一个做服务端与web,两者不冲突,也就不存在替换关系。

Python,之父谈论,Python,的未来 推广视频课程

img

Maleah

关注

(点击上方公众号,可快速关注)


英文:Paul Krill 

译文:伯乐在线专栏作者 - tsteho 

链接:http://python.jobbole/85631/

点击 → 了解如何加入专栏作者


作为一门已经开源25年、面向对象的动态语言,毫无疑问,Python近年来已经成为软件开发者主要的工具。大家喜欢它对程序员的友好性以及其框架和库丰富的生态系统。


InfoWorld:为了促进Python在移动计算领域出现,有什么事正在进行当中?当你想到移动计算,你通常想到的是用于Android开发的Java、JavaScript、Swift以及Objective-C。


Van Rossum:移动计算对我们来说仍然是一个很难攻克的平台。但是并不像浏览器平台那么糟糕,因为Python实际上能够运行在所有品牌的智能手机上。你只需要找到知道如何创建Python的版本的人就行了。


不幸的是,标准的CPython源码只能差不多,但是不完全,编译成一个能够正确地运行在一台Android或者iPhone手机上的二进制文件。有很多人对于推动Python在移动计算领域出现、贡献补丁和诸如一些你如何确认你是在一个Android平台的小事感兴趣。它正在前进,虽然并不如我所期望的那么快。但话又说回来,我并不开发移动应用,因此我并不是很有动力去让自己深入了解这些。但是我很高兴看到正在发生的事。


InfoWorld:Python将来会在浏览器中扮演类似JavaScript的角色吗,或者说这件事并不可能?


Van Rossum:这并不是我们的目标。


由于浏览器领域自身的结构,这真的很难有效地和JavaScript竞争。最好的方法就是将Python翻译成JavaScript。但是通常由此产生的程序的运行速度比用原生的Python写的程序慢,同时它的运行速度也将比用JavaScript写的类似的程序慢。不过,仍然有一些关于将Python翻译成JavaScript并且将它运行在浏览器中的令人激动的实验。


InfoWorld:当我们谈论JavaScript的时候,你对WebAssembly的印象如何?


Van Rossum:这实际上或许会提高让Python运行在浏览器上的可能。如果它是asm.js的替代品,那么它基本上消除了JavaScript作为唯一一种在网络上使用的语言的局限,同时它将JavaScript变成类似汇编的东西。就像当你写Python代码,然而底层的Python解析器是用C语言写的。而当你编译C语言的代码、将它翻译成机器码,同时在这之间也涉及到一些汇编语言。


如果我们不能在浏览器中消灭JavaScript,我们也许能让JavaScript成为任何想要在浏览器中运行的事物的唯一的翻译目标。那么Python和其他语言,如Ruby或者PHP,能有效的被翻译成底层的东西。


InfoWorld:你的意思是说WebAssembly给Python开发者提供了机会?


Van Rossum:我认为是的。但那之前不得不经历一个实验阶段,而那些觉得开发工具比制作应用程序更有趣的人获得了一个弄清楚让Python运行在WebAssembly上最好的方法是什么的机会。


InfoWorld:当我在2012年采访你的时候,Python因为它的性能而被指责。你那时告诉我它已经足够快了。自从那时起,Python的性能提升的怎么样?


Van Rossum:Python3性能已经赶上来了。Python3比2012年的时候快了不少。另外,有特定的Python版本,如PyPy,仍然存在。有一些新版的Python解释器旨在提高速度。


事实证明,有关Python性能的故事并不像人们讲的那么糟糕。因为Python大多数都是由C语言实现的,所以在做很多事情的时候,Python能够和C语言运行的一样快。对于大多数打算用Python来实现的事,我仍然坚信Python已经足够快了。


InfoWorld:开发人员为了让Python运行的更快,在Python3.x中有添加具体的特性吗?


Van Rossum:我们没有在Python3.x中添加新的特性。但在幕后,我们已经让语言的各个方面得到了提升,像引用计数,我认为快了一些。所有的这些只是一些微调,但是用户并不会注意到差异。并没有像“用一个不同的方式写你的代码,然后它变得更快”这类建议。那没有必要。


InfoWorld:你刚才提到过PyPy。你对像PyPy或者Futhark这样的项目的印象是怎样的?Futhark自动生成Python代码和其他语言的代码作为GPU代码的封装。


Van Rossum: 后者我甚至都没听说过。类似那样的事物通常是相当深奥的。它们是为那些正在做酷炫的、疯狂的东西的人而存在,因此可能并不能被典型的Python程序员直接使用。


但是PyPy是相当成熟的。如果在一个有多种用途的Python程序中你对它的速度有迫切的需求,观察用PyPy能否使得应用运行的更快是值得一试的。你可能遇到它运行的更慢的情况,因为你正在使用拓展模块,在拓展模块和你的Python代码之间来回切换时会略慢。


如果你正在做的大部分事依赖于拓展模块,CPython可能仍然是你该选择使用的。


InfoWorld:你对所有这些涌现在Python生态系统中的Python框架和类似Futhark这样的事物的发展感到吃惊吗?


Van Rossum: 每个人都想成为胜利队伍的一员。如果你了解下关于Python每年有多少个会议,有多少人来到像PyCon和EuroPython这样的大型会议,你会发现Python似乎是在通往成功的道路上。它无处不在,这令人感到兴奋。对于那些能够为了他们专门的项目而寻找场地的人,无论他们使用Python作为一个起点、一门支持语言还是一种灵感,我都不感到吃惊。


InfoWorld:为什么Python如今如此受欢迎?在语言人气指数上,像Tiobe, PyPL, GitHub, and RedMonk这类平台,它都做得很好。


Van Rossum:因为Python是容易学习,容易使用,社区是如此开放和乐于助人。


InfoWorld:你说过你是负责Python的人,但是有很多贡献者。你和贡献者分别占多少?


Van Rossum:关于这一点,在最近的5年或者更久之前,大多数来自于其他人。我偶尔给些我认为一个具体的想法能不能被接受的建议,通常是有关某些可能新添的语法。当涉及到库的时候,我很少刻意去干涉。有时候,我不得不告诉人们停止争论,通过一些妥协设法找到一个方法。


对于社区,我的目标是它能够自我维持,那么我能够完全退休或者休一趟长假。我希望并期望Python能够从其它语言或者某些活动领域吸收新的想法来演变自身。


我想要指出的一件事是关于SciPy and NumPy的举动。这些人正在介绍Python作为Matlab的替代物。它是开源的,它是更好的,他们能够改变它。他们正在将Python带到一个我从来没有预料到的领域。他们也创建了像Jupiter Notebooks这样能够在浏览器中显示交互式的Python界面的事物。在那个领域有许多难以置信的酷炫的作品正在诞生。


【今日微信公号推荐↓】

更多推荐请看值得关注的技术和设计公众号


其中推荐了包括技术设计极客 和 IT相亲相关的热门公众号。技术涵盖:Python、Web前端、Java、安卓、iOS、PHP、C/C++、.NET、Linux、数据库、运维、大数据、算法、IT职场等。点击《值得关注的技术和设计公众号》,发现精彩!

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP