社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

微软独家采访Python之父, 大爆料网友关心的13个问题

CDA数据分析师 • 4 年前 • 333 次点击  

作者:菜鸟哥

本文转自:菜鸟学Python

作为Python之父的吉多·范罗苏姆(Guido van Rossum),江湖人称龟叔,从加入微软到现在,已经有半年的时间了。微软在龟叔入职的半年之际,对其做了独家采访。通过向网友广泛征集提问,采访选择了其中的13个问题。小伙伴赶紧搬好板凳,听听龟叔怎么说吧。


1. Python是如何被创建出来的

龟叔自阿姆斯特朗大学硕士毕业后,加入了CWI研究实验室,从事的正是编程语言(abc)的开发工作,但是由于缺乏语言的用户而导致语言最终取消。而后,龟叔加入了分布式操作系统(amoeba)的研发工作,在研发过程中,龟叔发现利用C语言来进行脚本程序的撰写非常的不便。
而恰巧项目的leader在这个时间去了硅谷,给了龟叔自由发挥的空间,因此龟叔在圣诞节后,花了三个月的时间研发了一门编程语言,经过检测后,受到了同事的一致认可,而这门语言,便是Python。
随着团队越来越多的使用Python,龟叔决定将python开源。并在usenet社区公布了Python。一经推广便获得巨大成功,龟叔受到了大量的用户私信,就这样Python一步步的发展至今。



2. 在创建Python之初,是否料想到Python在AI领域获得广泛应用?

”oh, No,No,No",重要的事情说三遍,龟叔听到这个问题后,立刻用三个No表达了否定。
龟叔表示,在Python创建的时候,AI并没有获得太多的关注,因为在60到70年代,AI做出了很多的预测,但是都没有实现,所以很多人认为AI已经没有发展的前景,所以Python在创建之初的目标就是能够成为一门优秀的工具语言。


3. 对于Python的一些内置函数,2021年会有更新?

对于这一点,龟叔首先指出了几个Python常用的内置函数,例如lambda、map、filter和reduce函数。龟叔简要的介绍了函数的用法,并且提出想要去掉reduce的内置函数,但是这一想法遭到了一些用户的反对。
龟叔很有个性的表示,Python是我写的语言,有本事你自己去写一个语言,在我的语言里,我就是要去除掉reduce。龟叔也坦言,对于Python的更新,更像是一个game-changer,去改变一些Python的使用规则。


4. Python在web开发以及移动端的应用开发应用

“Web开发和移动端的应用开发是不同的事情”。龟叔首先指明了二者是不同的。对于Web的开发,Python是一门非常受欢迎的语言,就像Dropbox的服务器,就是利用Python进行开发。
当然对于Web的前端,则是JavaScript语言。当然也有利用Python进行web前端开发的尝试,但是需要用户下载并安装特定浏览器以及会出现各种bug,因此推广失败。
说到这里,龟叔也不忘提及,Java同样也是在做前端,但是也是没有太大的发展。当然还有例如将Python语言翻译成JavaScript语言的尝试,或者是由JavaScript写的Python解释器。
对于这些尝试,龟叔不确定他们是否会有发展。龟叔认为不同语言都有不同的目的,Python应该专注于Web的后端开发、数据科学这些更为擅长的领域


对于移动端的应用 开发,龟叔指出确实有一些人在进行着方面的工作,但是Python更适合在桌面或者是服务器的环境中进行开发运行,很多在安卓或者是ios开发中使用Python的人发现,利用Python开发很吃资源。


5. 对于新的语言,例如rust,typescript的看法?

至少从理论的角度来说,我是热爱新的语言的,经常阅读编程语言教程,但是我不擅长安装一门语言并编写程序,我没有学习过rust,但是我同一些使用过rust进行开发的人聊过天,它看上去是一门很棒的语言,对于一些特定的事情。
例如在解决内存分配的问题上,我确信当你在开发一个非常大的应用时,rust在解决内存分配问题上要比c++更优秀,所以我认为rust是一门非常有趣的语言。

1).龟叔在给出对于rust语言的表述后,也指出go语言也是非常有趣的语言。在所有的新语言中,go是最为pyhonic的语言。
2).Julia语言在一些细节上同Python非常的类似,但是在一些语法习惯上让习惯Python编程的人很头疼。 在龟叔看来,Julia的应用很有局限性,例如无法在web开发中发挥优势
3).至于typescript,龟叔同样表示typescript是非常好的语言,typescript解决了一些Python无法实现的问题,最近,龟叔和它的团队也在借鉴typescript的内容来拓展Python。


6. 对于教学来说,是否应该在学习其他编程语言之前先学习Python

“绝对的,没有任何疑问!当被问这个问题时,龟叔的回答是如此的干脆利落,没有丝毫的迟疑。龟叔指出,几年之前的发表在acm讨论区的一篇文章就指出越来越多的学校将Python作为编程语言教学的第一门课程。
事实也是如此,无论是国内还是国外,在人工智能如火如荼发展的当下,很多大学都开设了人工智能课程,并且需要学生们具备Python的编程能力。


7. Python2 到Python3的过渡,最应该学习的是什么?

谈到Python2到Python3的过渡,归谁认为这个过程是非常简单的,有些Python2的代码甚至不需要做太多的改变就可以转换到Python3。

同时龟叔也发现Python对于一些编程小白也是非常友好的,一些做金融交易的团队也在使用Python进行编程来解决问题。当然在进行Python2到3的转换时,龟叔的团队只是考虑到了Python的爱好者,认为他们都会认为Python3要好于Python2,但是实际情况有一些区别。
龟叔还不忘指出,自己曾在twitter上指出,Python3到Python4的转换与Python2到Python3的转换是完全不同的转变。

8. 目前Python安装第三方库的方法,有新方法吗?

针对于目前Python的依赖库安装管理,pip 并不是唯一的安装方法,而且pip在针对某些第三方库的安装问题上,表现的也不是特别完美。龟叔提醒大家,在项目开发中最好是给每一个项目创建新的虚拟环境来避免“dll hell”问题


虽然这样这并不能完全保证能够规避“dll  hell”问题。特别是针对于做机器学习和数据科学的人,尽管有很多很有用的第三方库,但是不同的开源社区会开发不同的库,在导入这些库时,往往会因为版本不一致而出现错误。
大家在平时的第三方库的安装过程中,相比也会遇到因为版本的不同,而导致程序报错的问题,并且这样的问题,解决起来往往并不是特别轻松。


9. 为什么Python语言会被命名为“Python”

谈到Python的命名,龟叔提到了最重要的一点,是因为本人是monty Python(英国的一组超现实幽默表演团体)的超级粉丝,龟叔非常喜欢他们,并跟着他们学习英语。
在很长的一段时间里龟叔都是反对利用蛇来作为Python语言的logo。龟叔还自己己设计的一个logo,logo的内容是16-ton weight(出自monty Python的作品),龟叔自己说因为这是他能够画出的最简单的图画了。
在amoeba工作的时候,团队的人喜欢把每个模块都按照当时流行的TV show进行命名。
而且龟叔并不喜欢以一些科学、工程上的重大事件来命名编程语言,因此他决定从流行文化中来选择命名灵感。对于“Python”的命名,网上的原因总是五花八门,现在Python之父终于给出了最权威的回答。


10. Python未来会支持量子计算吗?

这个问题把龟叔也难住了,龟叔指出自己并不知道Python能够在量子计算领域发挥什么作用,但是龟叔知道有微软的库宣称支持量子计算的加速,是用Python编写的。


11. 你在微软工作的内容和职责是什么?

“退休的我觉得太无聊了,当我从dropbox辞职后,我想的是跟我的妻子到处旅游,和朋友聚聚会什么的,但是时间久了我意识到我需要项目,因此我又开始编程,包括Python的改进。
“充满精力的龟叔永远都不愿意停下奋斗的脚步,龟叔为了重新找一份工作,便询问了一下,能够在微软兼职工作。但是当他参加了kevin scott的访谈后,龟叔意识到微软依旧想要全职雇佣他。

谈到这里,我只能感叹道龟叔不小心就凡尔赛了一把。龟叔入职微软后,大概花了三四个月的时间让自己明确工作方向,与喜欢用Python编程的人进行交流,包括机器学习,notebooks,excel等方向。但是龟叔觉得自己宁愿去码代码也不愿意一直同人去交流,所以开始系统的研究自己能够胜任哪些项目。

通过观察,龟叔发现机器学习和Python的流行是相辅相成的,而且他熟悉web服务器的开发,但是对机器学习却知之甚少,所以龟叔开始跟微软的机器学习工程师进行了解,但是发现需要学习很长时间。

无奈龟叔还是回归了老本行,组建团队来提升Python的运行速度。前不久龟叔的团队就发行了Python3.10beta的测试版本,未来还将将会公布Python3.11版本,3.11版本将会在速度上远远超过3.10版本。


12. Python4 什么时候会发布?

当前,谈论Python4的发布完全是一个笑话“,龟叔诙谐的回答让大家明白,Python4的发布将会是一个遥远的未来。紧接着,龟叔补充道:”我们会在今年的十月份发布3.10版本,然后再一年之后发布3.11版本,然后是3.12 ...的版本。
我们会一直更新Python3的版本。我不能确定Python4会在何时出现,但是我们在以后可能会更改垃圾回收机制,全局的解释器锁也会被更改。
但如果在C语言的拓展上有完全的不兼容,或者是去除掉GIL,那么或许会将Python更改为Python4版本。“通过龟叔的回答,至少让我们明确了,在很长的一段时间里,虽然会有Python版本的不断更迭,但是都不会有Python4的公布


13. 个人爱好

龟叔自嘲自己是一个很无趣的人,但是自己喜欢阅读,喜欢阅读科幻小说,喜欢骑自行车。貌似很多开发者也喜欢看科幻小说、骑行,原来我们都跟龟叔也有一样的爱好啊。

龟叔也很热爱家人,提到自己19岁的儿子时,也是一脸的自豪,并滔滔不绝的讲起自己和儿子在生活中的一些事情。

好了,今天的分享就到这里,欢迎大家在留言区谈谈你的想法。


 

推荐阅读

 

CDA课程咨询

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/114658
 
333 次点击