朱雷(
piglei):曾就职于搜狐、赶集网,现就职于腾讯IEG技术运营部,现任蓝鲸工具PaaS平台负责人。年,他初次接触Python便乐在其中,开启了此后十余年的Python编程生涯。
年,他开始创作「Python工匠」系列开源技术文章,其GitHubStar数超过4K,被多家媒体全系列转载,收获诸多好评。
他为何从Java「倒戈」到了Python?如何才能学好一门编程语言?到底怎样才算是好的Python代码?优秀的软件工程师应该具备哪些能力?今天,图灵访谈带你走近朱雷(
piglei),一起来了解他的Python编程之路。1
从Python编程中获得了乐趣
从游戏少年到计算机本科生
细数起来,我其实不是那种「自幼喜欢编程」的人,我自幼喜欢的就一门:电子游戏。在我小时候,家长为了保障子女顺利发展成「21世纪的综合性人才」,常会往家里买很多新奇的装备,比如当时最流行的小霸王学习机(此处暴露年龄)就是其一。我爸给我买小霸王,是因为听说它可以用来学五笔打字,对大脑发育也有帮助。但相信不少人和我一样——五笔只学到一级简码,《*斗罗》《忍者龙剑传》和《赤色要塞》等游戏技术倒是掌握得炉火纯青。
读高中一年级(03年)时,家里给我买了第一台电脑。我一开始用它干得最多的事儿还是打游戏。但和小时候玩小霸王不同,那时出现了一个小小的转折,把我从钻研「红警」技术的道路上扳回来了一点儿:
在当时,我有一位很要好的朋友(《Python工匠》一书的致谢里提到了他)痴迷于网页制作、黑客技术等各种奇奇怪怪的东西。他经常兴致勃勃地给我演示各类「高端(上古)」技术:制作Flash动画、搭建BBS、使用Dreamweaver制作网页等。受他的影响,我第一次认识到:原来电脑除了可以用来打游戏,还能做这么多有意思的事儿!
再后来,到了大学选专业时,我很自然地就选了计算机。父母知道我就爱折腾这些,自然也就没有做任何干涉。
我在前言里说:「读大学时,没想过自己会以写代码为生」,不是因为不喜欢写代码,而是因为当时自己的编程水平真不怎么样。大学四年,我就只是按部就班地学完了所有的专业课程(甚至还因为贪玩挂过科)。到了毕业时,对于自己能做什么、能做好什么,想法非常模糊,没什么底气。
职业规划自然也很混乱。当时我的底线大概是这样:不管是运维、网站开发、嵌入式开发还是安全维护,只要与专业挂点儿钩的工作我都能接受。
年初次接触Python,
朱雷很快就从Java「倒戈」向了Python。
我在大学四年里接触最多的高级编程语言就是Java——我的毕业设计就是用Java写的。
如果在今天,我会说Java是一门极度成功,在许多方面都非常优秀的编程语言。但在当时,我从Java「倒戈」到了Python,其实还是因为没在Java上获得太多乐趣(有肯定有,但不多),而接触Python后,突然发现写代码还能这么轻松——不用声明类型、不用事事定义class、不用管啥私有公有。心态轻松后,写代码也变得有趣了很多。
这事儿我们可以拿游戏来类比一下。假如把一个编程的门外汉,类比成一个从来没有接触过主机游戏的人,他要怎么才能突然变成一个主机游戏爱好者呢?有时,能击中他、让他喜欢上主机游戏的是同事手上的《塞尔达传说:荒野之息》。有时,能成功拉他「入坑」的则是视频网站推荐的《最后生还者》游戏片段。
人们会因为不同的游戏