发布时间:2021-02-22 18:58:25来源:CSDN
【CSDN编者按】30年前,吉多·范罗苏姆正式对外公布Python代码,版本为0.9.0。巧的是,Python3.2.0恰好是20年之后发布的。
作者|ZoomQuiet大妈责编|张红月
出品|CSDN(ID:CSDNnews)
1991年,吉多·范罗苏姆(GuidovanRossum)通过alt.sources新闻组向世界发布了Python。并在2月20日那天,发布了Python0.9代码,代码地址:https://github.com/smontanaro/python-0.9.1。
如今,30年过去了,Python已成为最受欢迎的编程语言。在TIOBE编程语言排行榜中,Python分别在2007年、2010年、2018年、2020年获得过年度编程语言的称号;此外,在IEEESpectrum发布的2020年年度编程语言排行榜,Python同样连续四年夺冠。
对于Python的火热,摒除业界一些资本的炒作,Python成为主流并非没有原因,一方面,Python与我们所熟知的人工智能、机器学习、数据分析与处理等领域的需求紧密相关;另一方面,这或许也与Python被用作教育领域的教学编程语言有关。
Python历年趋势图
在Python正式发布30年之际,CSDN邀请了Python社区知名布道师ZoomQuiet分享了他与Python相伴近20年的故事。
ZoomQuiet是中国Python社区中最长情的贡献者,从04年共同创建CPyUG(中国Python用户组)以来,长年为Pythonic在中国的推广/实践进行各种尝试。
连续四届主持PyCon中国大会筹办,发起Open.Book.Project主持原创/翻译多本Python技术图书,是大家公认的"大妈"(Zoom.Quiet)。
个人网站:zoomquiet.io
历年版本更新回顾
在笔者开始回顾之前,我们先来梳理一下Python起源及版本发布时间轴:
1969年,MontyPython成立;
1975年,MontyPythonandtheHolyGrail/巨蟒与圣杯发行;
1979年,LifeofBrian/万世魔星发行;
1987年,ABC语言发布;
1989年,Python已经有了雏形;
1991年,Guido发布Python0.9.0;
1994年,Python1.0正式发布;
1999年,Python1.5发布;
2000年,Python2.0发布,不兼容1.x;这一年,Python之父Guido加入Zope公司;
2001年,中蟒/chinesepython.org发布,首款支持中文编程的通用语言
2002年,CZUG.org发布;
2003年,Python2.3发布;PyCon.org上线,首场Python大会在华盛顿召开,此后PyConUS每年一届;
2004年,啄木鸟Python技术社区成立;
2005年,Python2.4发布;Guido进入Google;CPUG/ChinaPythonUserGroup成立;
2006年,Python2.5发布;
2008年,Python2.6/Python3000发布;
2009年,Python3.1发布;
2010年,Python2.7发布;
2011年,Python3.2发布;PyCon中国成功举办,至今已举办10届;同年python-cn邮件列表订阅人数超过一万;
2012年,Python3.3发布;Guido离开Google;
2013年,Guido进入Dropbox;
2014年,Python3.4发布;
2015年,Python3.5发布;
2016年,Python3.6发布;
2018年,Python3.7发布;
2019年,Python3.8发布。Python语言项目正式宣布采用12个月的发布周期,此前Python语言的发布周期是每一年半时间发布一个大更新版本;
2020年,Guido宣布“退休失败”进入微软;
2021年,Python3.9发布;
......
与Python的日子
1994年,笔者开启大学计算机系学习生涯,而正式接触Python则是在8年后。当时网上有不少用户盛赞Zope,而笔者发现Zope是基于Python开发。为此,开始了Python的学习之旅。2003年,实现自己首款CLI工具,天气消息器。
2004年,笔者利用公司内网闲置PC机安装RedHat系统,发布了mailman/邮件列表服务,以及MoinMoin维基系统提供给社区使用,并以此为契机获得SINA岗位,从上海北漂加入邮件技术部。此后,常以BPUP/北京Python用户组名义开始定期组织参与线下技术交流,其中还有幸参与了Python初版文化杉“人生苦短,我用Python”的设计与生产。
在2007年的GoogleDeveloperDay上和小伙伴们一起见到Guido,笔者后来的新书《可爱的Python》出版时,也邀请了Guido写了推荐序。期间,笔者组织社区进行一系列的图书创作活动。此外,还曾为金山大学设计PythoniCamp/蟒营,2010年,将蟒营经历作为主题申报首届亚太Python年会/PyConAsiaPacific,并代表中国去新加坡参会,同年还参与了TEDx1kg乡村巡讲,将Python的故事带去四川边远地区中小学分享。
2011年,中国Python开发者大会PyCon正式开启,与此同时,笔者正式加入组委会。2012年,蟒周刊正式开启,每周一次,并坚持至今。
以自然时间为轴回顾自己和Python相遇后发生的林林总总才发现:其实Python技术并不是人生关键,通过Python结识的人/推进的事儿才是关键。
收获与成长
最早在SINA时,笔者用CherryPy开发的团队任务管理原型,被Java技术栈快速开发的原型击败,反而是用PHP开发的CVS仓库管理系统获得上线推广;后来用Python开发的SEO监察原型也只是部门内部原型。
到金山后,以Trac为基础通过插件进行魔改的KUP,金山统一过程平台,也随着集团调整消失在内部产品线中。被创业到猎豹后,独立开发的浏览器插件编辑器以及商城,也因为公司战略调整无声消失。
再次被创业后,独立开发的跨平台实时机器视觉数据分析系统,也因为创始人商务直觉失误,导致封存消失。
可以说,除了日常给自己用的小工具之外,所有在企业中自己用Python开发的工具/系统/服务/...都消失在历史浪潮中了。
反而是为社区开发的各种实用服务/后台/工具一直在稳定运行:比如:
Mailman架设的邮件列表,成功运行了5年才被Googlegroupd替代
PlanetPlanet聚合服务,已经默默运行6年了
微信群消息提取器,也配合专用手机稳定使用了7年以上
MoinMoin发布的维基,稳定运行了16年
ScrapBook网页发布器,配合各种CDN空间或是自营主机,稳定使用了16年
……
在企业中经常一件事儿,做着做着就做没了,或是越做越小。
而在社区中,总是一件事儿做着做着越做越大,越积累,越影响更多人。
正如05年在啄木鸟技术社区wiki中记载的:
我们的奋起宣言
每天至少挤一刻钟,认真解答邮件列表/IRC/QQ群中初学者问题;
每周至少挤两小时,整理自己的新学将成功或失败体验分享出来;
每旬至少挤四小时,翻译并分享自己喜爱的技术文档;
每月至少挤出两天,提交bug报告给开源社区;
每季至少挤出一周,快乐编程,推进自己或是他人的开源项目;
每年至少参加一次,宣传/推广FLOSS软件的活动,分享开源体验/自由软件思想。
只要每个有心人都能坚持下去,10年,就足以改变中国软件的生存环境。虽然,16年过去了,中国软件工程师的生存环境并没什么改变,但是,投身其中的自己是的确被改变了。
但行好事莫问前程
这里的”好事“是第4声,是自己喜好的事儿,长期坚持下去,变成自己的生活习惯。慢慢的,内心那个目标才可能达到。
真正达成目标时,反而会感觉,这个达成的过程才是更加重要的。
在大学期间。和其它同学一样在Windows系统中学习了各种输入法,第一份论文用拼音输入法,用了两星期才输入了2万字。但随着社区事务的增加,高速进行文字交流越来越重要,虽然直接使用英文可以不依赖输入法,可并不是所有人都能流畅使用英文进行交流。
所以,一直在犹豫到底应该在哪个输入法上加大投入?结果,工业制图老师一句话解决了困惑:表形码好,最接近书写体验。心一定,很快就可以盲打了。
随着日常桌面系统的变化,从Windows到Ubuntu到macOS;从Windows95se版本中导出的表形码码表,一直伴随手边。输入速度也随着积累稳定了下来,从来没有成为阻碍。甚至于,在Python的帮助下,一路完成了Windows码表到星际输入法的转换。在Mac平台上,又进一步转换为rIME码表,并编写了自己的码表编译工具,支持随时追加自定义词组。
Python在不知不觉中,变成了日常万能小工具制造工厂。
展望
从2012年春节开始坚持翻译的蟒周刊,现在已经到了460期,每周一篇的节奏,从来没断过。
原先只是自行发行的定期电子刊物,由国外一小组Python爱好者收集全球各种Python相关消息编撰而成。随着积累,慢慢形成了自己的风格,内容源,以及赞助商。变成了一个成熟的创业项目,跟随周刊了解到历年Python领域大小变化。整体上,Python并没随着Guido的退休而停滞。
反而因为决策小组的确立,各种社区提案被加速决议,原先一年不一定有大版本发布。现在开始定期发布小版本,每年一个大版本,高速响应世界对Python的期待。
而随着黑洞照片合成,大数据/AI的高速发展,Python从一种前沿小众语言,变成大众常用语言。
现在自学Python可以随时搜索出,比20年前多百万倍的资料,特别是视频资料,越来越多的学习者通过B站教学视频入门Python。
但是,却很难找到20年前那种可以集中讨论的社区场景了,聚集有各种行业各种水平,又都热情乐于分享的Pythonista们。好象从互联网中消失了,搜索出来的都是各种“Python之父”们。
无论互联网怎么发展,Python创立的Pythonic精神不会消失。通过Python聚集起来的开发者不会消失。我们总是能在各种场景中相遇,一起创造点儿有趣/有用/有种的好东西。
无论网络中学校中有多少种Python相关课程,都无法替代社区中平等/真诚交流的体验。
比如2002年,CZUG社区就支持公司名”润普“和Zope的关系以及修改建议就”争吵“了半月,从一个命名不断扩展讨论范畴。通过此次交流,结识了不少对方辩友,Limodou,也就是后来UliEdit/UliWeb;李迎辉,神交两年多,才在BPUG线下会课中得以当面交流,也成为后来PyCon中国大会核心成员,头三年大会官网就是使用UliWeb发布的。各种神奇人物,都是在社区各种交流过程中,慢慢相互认可,长期讨论/磨合,先变成朋友,才在线下碰面的。真正对互联网有了真实世界的感觉。
而现在多数网络课程都承诺学会Python就能升职加薪之类;这种目的性极强的暗示,其实,对于掌握Python并无多少帮助,毕竟,企业的职位升迁是各有其机制的,并不可能因为是否会某类技术就提升;只可能在证明了拥有一定层次的能力后,才可能达成。
而Python以及Pythonic精神衍生出的各种日常习惯,可能才是其中的关键。回想当初自学Python时,只是想获得一种比PHP更加自由的开发工具,可以快速实现自己的想法。
如何证明自己学会了呢?
最好的姿势,只应该是拿出作品来。
当然,参考那篇著名的"如何成为一名黑客"作品,并不一定是一个精妙的软件/系统/框架。也可以是一篇自学笔记。或是一组认真的单元测试,或是对应官方文档的中文翻译...
只要是能给3年前的自己提供切实帮助的,都是作品。
那么,什么是入门呢?私人偏见是:
对任何具体问题,都有自信,将其分解为自己能力范畴以内的子问题序列
简单说,就是有自信;对Python有充分自信,对自己的学习/实践能力有充分自信,可以在预期时间里,调研/实验/检验/解决具体问题。
这种自信,只应该在持续的编程过程中积累出来,而Python积累了31年丰富强大的生态中,几乎在所有领域都有成熟解决方案,嘦我们有点儿耐心,随时都可以搜索出来,上手应用起来。
真诚期望所有人,都有这种自信。
参考:
DM9:苦短衫的故事—蟒营®怂怼录:https://blog.101.camp/dm/190914-teestory/
关于Python语言的发展趋势,CSDN也一直在关注中,不久前重磅推出的,其中就包含Python语言初阶-中阶-高阶发展路线图及免费学习资源,读者可以基于自己需要,在公众号后台回复“Python”关键字可领取高清版本。