the5fire

关注Python、Django、Vim、Linux、Web开发、团队管理和互联网--Life is short, we need Python.


读《程序员的怒吼》

作者:the5fire | 标签:   | 发布:2016-07-10 1:21 a.m. | 阅读量: 10321, 10077

首先得说这本书值得一读,作者确实是"编程语言杂食动物",里面对很多语言的观点很犀利但(看起来)不失真(即使他是胡扯的我也不知道)。译者翻译的很好,读起来相当有趣,算是一本可以轻松愉快阅读的书籍。

我是在读到作者(Steve Yegge)关于Python的吐槽部分决定付费的(在豆瓣阅读上)。因为后面就不提供试读了,而作者关于Python的吐槽才刚开始,比如这段:

他们的处境跟Smalltalk程序员一样,后者一直等着替代C++,谁知道半路杀出个Java,狠狠地、死死地断了他们的念想,好惨。现在,Python的念想也要被Ruby灭了。也就一夜之间的事

Python原本可以征服世界,但它有两个致命缺点:空格问题和冰霜问题。

作为一个Python程序员,一开始可能会意识到空格的问题。但写代码久了之后也就习惯了,毕竟所有的程序都可以按照空格缩进,而Python只是语法层面做了要求。第二个问题一开始没理解,什么叫“冰霜问题”。我以为是技术上的问题,但作者说的却是社区文化的问题:

你问我“冰霜”到底指什么?以前我在博客上讲了很多无比刻薄的话,但Python实际上用起来挺舒服的(如果你能忽略它的缺点的话),所以我觉得还是不要在这儿黑Python的拥趸了。“冰霜”只是说用python的人以前都有那么点……怎么说呢,有点高冷。为啥?

这个“冰霜”竟然是冷若冰霜的冰霜,这个真有点旁观者清,仔细想想好像是有点....

另外一个问题,self的问题,也是个问题:

结果,除了全局和本地(函数)作用域,Python啥都没有,所以即便它有“真正的”面向对象系统,类也不能访问自己的实例变量。你必须给每个实例方法都附加一个“self”参数,然后通过用self参数访问实例来获取实例数据。所以你在Python里往往看到满眼的self,selfself, selfselfself, selfSELFselfSELF__SELF__,就算你不介意空格问题,也会被这个整疯的。

Oh My God,作为一个用了Python四年多的程序员,我被击中了。Javascript快来救我。

关于吐槽就不多说了,除了the5fire作为Python程序员读的时候觉得有点不爽,我想其他的语言使用者也会不爽,但是人家说的是实话。“个头儿低要承认,挨打也要站稳。”

除了语言吐槽的部分,另外还有两部分也尤其值得一读(其他的也是值得一读的,印象深刻的就两部分),一是关于学习编译原理的必要,二是关于面试的。

关于编译原理,摘一句:

如果你不学习编译原理,那你就是冒着永远停留在二流程序员行列的风险。也就是从年轻时气盛初出茅庐的架构师,穷尽一生之力建造大系统,变成老态龙钟的架构师以后,以自己创造的系统傲视天下的那种人。

这句话之后的下一篇就是《恶心的大系统》

关于面试,也摘一句:

在面试了别人二十多年之后,你就能从这么多次面试中找到规律。其中有个很显着的规律是有很多应聘者走进门来,却对眼前的面试毫无准备。他们即没有做过习题,也没有热过身,他们也没有好好回想在学校曾学过的内容。突然被扔到陌生的面试气氛和环境中他们就手足无措,而他们的面试也理所当然地失败了。这可真糟透了。

所以说,“裸”考和“裸”面是一样对自己不负责任的。

多余的话不多说了,有兴趣可以看看这本书,难得的技术休闲类的书籍。一个写了二十多年程序的老程序员,吐槽的内容都是很有营养滴。

- from the5fire.com
----EOF-----

微信公众号:Python程序员杂谈


其他分类: