2011年参加在上海举办的第一届PyCon China时,没想到Python如今会成为“显学”,不要说大数据、人工智能这些热门职位都在招Python开发人员,就连“少儿编程”培训都在以这门语言为招牌。不由得感叹,潮流来的太快,上车虽然早,却也没得到潮流上涨的红利。

第一届PyCon China的小众氛围有点类似中国早期的摇滚音乐节,因为只有上海一个会场,所以全国的Pythoneer汇聚一堂,台也都是大家耳熟能详的圈内大牛。因为小众所以自豪和抱团,分享的内容即使简单但也有趣和闪光,“人生苦短,我用Python”,这种用了都说好的演讲一多,就仿佛在团体传教现场:)。每个程序员都知道阿北在星巴克写出第一版豆瓣网的故事,而且作为豆瓣的拥趸,他们每个人似乎都是文艺青年。门票没记错的话只有60,包两天两顿披萨,送T恤和纪念品,的确不是为赚钱而是为情怀,相比而言,现在Gopher大会1千多的门票让人难以理解。

据说第三届以后演讲的嘉宾换了一拨,几乎是大数据专场,我最近参加PyCon Shanghai是2018年,几乎是人工智能专场,应该说圈子的变化反映了行业趋势的变化。一门入门门槛并不高的语言,配合这么火的技术潮流,想小众都难。金融精英,研究人工智能的硕士博士,写起Python代码来,丝毫不会逊色于码农。圈子已经变成江湖,强者如云,作为工具的编程语言本身并不能给你贴金,用工具做了多少事情才体现使用者的段位。

但是与技术媒体、开发者大会上的如火如荼不相称的是,很多公司对Python的认知很浅。“Python不就是做点自动化吗”,“用Python做Web的很少吧,一般不都是PHP吗”,说这些话的面试者有海归创业者,有当大学教授的老板,搞得我每次都搬出“豆瓣”,然后默默嘀咕,把Python写在简历上究竟给我增加多少砝码?到是有不少这样的场景,前Java开发已转销售的大佬看到我屏幕上的代码,兴奋地问:“你会Python啊,那你懂不懂Hadoop?” 这是因为他参加了一些大数据的技术大会,感觉找到了公司发展的方向;或者某位产品发现你写Python,赶紧拿出一个脚本,说运行不起来请我帮忙调调,“你这个不是在电脑上本地运行的吧?”,他这才支支吾吾的告诉我,是在某量化平台的网站上运行的;还有我本科水利系的同学,当年写Fortran、VB也是一把好手,现在苦于新系统装不了VB6,VB.Net开发环境太笨重,我告诉他,“别想VB了,我给你介绍一位新朋友……”,我只是这么一介绍,基本上人家一个月就玩得很熟了。

Python这扇门,让更多的软件行业外的人闯入代码世界,行业内的人面对这扇门多少显得顽固和固步自封。金融机构,开发平台用小型机的,很多还是用Perl做集成和测试,Perl也是个好的选择,尤其是没有Python时。我写过很多Perl脚本,但是坦白说现在语法都忘差不多了,这种事一定不会发生在Python上;Linux技术主导的公司,基本上都会用Python,但是一定也有“Java 一切”的;还有很多的公司对软件的认识还是“桌面为王”,对Linux的态度是“不得不搞”,那很可能是“VC++ 一切”,情况比“Java 一切”还可怖。开发可能比测试还更难接受新的语言工具,“编程语言都差不多”, 或者拿运行效率回怼你的安利。那怎么向开发安利Python?你只要用你的Python做事半功倍的事即可,“我这边原型好了,这个接口你可以用来测了,你大概什么时候好?”,”这个原型抗得住2w并发,docker打个包上线直接就可以用了”。用不了多久,你就会发现你的同事主动过来说,“这个需求我想用Python实现……”

写到这里会心一笑,但是人流涌上之时,应该是再加速向前的时候了。编程语言并不都一样,我无法在掌握了元编程、装饰器、生成器、协程、asyncio这些炫酷的特性之后,写了十分之一代码解决同样的问题,并且十分享受这个过程之后,还能说服自己”和写C没什么区别“。但是在更高的认知层面,“目前为止只有两种真正干净利落, 始终如一的编程模式:C语言模式和Lisp语言模式”,我需要进入函数式编程的神奇世界,从兴趣和工业实践的经验来看,我希望这个世界的第一扇门是ErLang。虽然从实用角度,Go 是解决并发问题中值得使用的语言,但是我觉得表达简洁、清晰上还是不够,它也不会是在思想上会给我带来“洗礼”的编程语言,我觉得ErLang会是。


Comments

comments powered by Disqus