Driscoll:您是怎么加入 Python 团队的?
Holden:我在 comp.lang.python 的贡献很大,2002 年 hip 还出版了我的《Python Web Programming》,在 Python 社区里也算小有名气。是我主动联系 Guido 的,想请他一起吃午饭,结果他请我去 PythonLabs 办公室,我见到了传说中的五人小组,还一起去附近的中餐馆吃了午餐。从那之后,我们每隔一两周就定期见一次面,谈论的话题之一是社区没有专业组织者到底行不行。
Steve Holden:‘谈论的话题之一是社区没有专业组织者到底行不行。’
我觉得 90 年代后期,Guido 已经认识到这件事情变得越来越正式了,所以 PythonLabs 这些人发起了 Python 软件基金会,还获得了一定数量的捐赠资金。我告诉他们我当过 DECUS 英国与爱尔兰分部的财务主管,还有组织社区会议的经验。Guido 问我愿不愿意做大会主席,Python 软件基金会负责承担大会费用。
我们在乔治华盛顿大学的 Cafritz 会议中心租了个地方,宣布大会日期后,整个社区都为此欢呼雀跃。这个玩票性质的团队随即建立了 PyCon 组织者列表。Nate Torkington[1] 当时还帮了我们不少忙。
Steve Holden:‘很快,我们就敲定了“尽可能让志愿者处理所有事情,尽量压缩成本”的理念。’
很快,我们就敲定了“尽可能让志愿者处理所有事情,尽量压缩成本”的理念,Catherine Devlin 负责管理餐食,众口难调,这几乎是个不可能完成的任务。还有,我已经记不起来当时怎么卖的门票了,只记得那时售票网站还没有建好。
大约有 250人参加了这次大会,会议包括了两天的冲刺活动与教程环节。每场演讲参加的人都很多,现场一片乱哄哄,我满场跑,保证每个人都能上网。
Twisted 团队也参加了那次大会,这是我们头一次面对面交流。我听说他们的网络有问题,我就给他们装了本地 100 兆的 hub,要知道当年上网主要还是通过以太线缆,这件事让他们对我刮目相看。
Driscoll:那次大会挣钱了吗?
Holden:大会结束后,我宣布整个活动为 Python 软件基金会挣了差不多 17000 块(美金)。
Guido 提议把大会利润的一半奖励给我,但我拒绝了,Python 软件基金会应该建立自己的资金储备。他还提议我为 Python 软件基金会成员,这种荣誉当然要欣然接受,我就是这样当选了 Python 软件基金会的成员。
那年在 OSCON,我与 Guido 交流,他谈到要找一些更有经验的人加入 Python 软件基金会,因为那时候 Python 软件基金会主要还是靠他的名气。
Steve Holden:‘我一直都不喜欢社区活动带有太多的个人色彩。’
一年后,同一地点,第二届 PyCon 闭幕时,我宣布只再主持一届 Pycon 大会,我一直都不喜欢社区活动带有太多个人色彩。再有就是主持这种会议占用的精力太多,好在我当时主要工作是教学与咨询,大部分时间都在家办公。
没记错的话,我就是那年入选的 Python 软件基金会董事会,Guido 卸任了董事会主席一职,董事会任命 Stephan Deibel 继任,并要求 Guido 继续担任名誉主席,这样他就可以集中精力开发,不用再操心管理上的琐事。
Driscoll:那您是什么时候卸任大会主席的呢?
Holden:第三届 PyCon 闭幕的时候,那也是 PyCon 大会最后一次在华盛顿 DC 举办。当时,没人继任下一届大会主席,我也没办法告诉大家有没有下一次大会,更别提什么时候开,在哪儿开。
后来,他们又找了我几次,希望我再多主持一次大会,但我坚信 PyCon 大会想要成功,必须从社区里吸引更多人的支持。两个月后,Andrew Kuchling 找我咨询注意事项,还请我预祝他能顺利主办在德克萨斯州,达拉斯市举行的下两届大会。这标志着 PyCon 大会开始在完全商业化的场地举办,PyCon 大会从此声名远扬。
Driscoll:学编程是不是最好从 Python 起步?
Holden:视年龄而定,十岁左右的孩子学习 Scratch[2] 这种可视化编程语言更适合。
十岁以上的人,Python 足够简单,理解起来也不困难,因此,Python 是学习编程语言的首选。Python 的开源代码现在到处都是,不论哪个领域,都能找到相关的 Python 代码作为参考。
Steve Holden:‘Python 足够简单,理解起来也不困难,因此,Python 是学习编程语言的首选。’
Driscoll:您有什么编程技巧方面的建议?
Holden:我是测试驱动开发的拥趸,只不过前三十年的编程生涯里我没用过这种技术。从商业角度来说,敏捷编程是明智之选,允许所有参与者自主选择添加最有价值的业务内容。
我用了一年半的时间研究这种方法的变种,试图在新工作中验证敏捷编程是行之有效的工作方式。不过敏捷编程更像是开发管理方法论,而非编程技巧。
结对编程用得没有以前那么多了,但从技术转移角度讲,这是一种绝佳的沟通方式。程序员新手一般不会花时间做职业规划,但技术团队的管理者应该鼓励他们能好好学习,天天向上。相对来说,结对编程是一种轻松学习新技能的好方式。
Driscoll:学完 Python 基础以后,下一步干什么?
Holden:找出自己感兴趣的问题,看看有没有相关的开源项目。新手程序员都觉得自己可以另辟蹊径,实际上通过团队合作,了解他们的工作内容,才是更简单的入门之道。团队合作能教给你实用的软件开发技能,这对想成为程序员高手的人来说是一种非常有价值的经历。
有人说是人就能编程,这不见得正确。不管怎么说,自己写点代码距离开发实用、可用、易维护的系统还很遥远。不能等学好编程才想起来还要掌握一些其它技能。
Driscoll:现在 Python 最让你心动的是什么?
Holden:真正让我动心的是不断成长的 Python 社区,还有越来越多的领域,特别是教育领域开始使用 Python,这意味着 Python 能陪伴你度过今后 20 年的时光。
我桌上有一台 FiPy 设备,芯片上集成了 Wi-Fi、蓝牙、LoRa、Sigfox 和蜂窝通信等功能,除了数字输入、输出等通用硬件功能外,还可以用 MicroPython 控制器操控这台设备,用 REPL 访问所有这些功能。我真等不及到退休才能摆弄这些东西,大家可以试想一下今后 10 年还会发生什么?
Driscoll:您对 Python 的未来怎么看?
Holden:我真的不知道 Python 会怎么发展,可能你听到过一些 Python 4 的传言,不过,我觉得 Python 不能变得更复杂了。
Steve Holden:‘可能你听到过一些 Python 4 的传言,不过,我觉得 Python 不能变得更复杂了。’
Python 没有 Java 环境那么臃肿。等 Python 发展到那个阶段,更大的可能是会基于 Python 的理念衍生出针对特定领域的专用语言,这才是健康的方式。我可不希望 Python 变成包治百病的灵药,编程语言应当务实。
我不是擅于推动革新的人,思变革新的人已经够多了。 我总是在 Python-Dev 里潜水,只有他们谈的话题过于深奥的时候,才偶尔出来站在用户角度说几句。
Driscoll:应该升级到 Python 3 吗?
Holden:这要看用户自己的实际需要,免不了有一些用 Python 2.7 开发的系统不适合升级,我希望这些系统的运营人员组建一个行业级的团队,2020 年 Python 开发团队不再为 Python 2.x 提供支持后,还能有人延长它的寿命。但是,最好用 Python 3 开发新项目,这才是趋势。
Driscoll:谢谢您,Steve Holden。