《程序员的呐喊》:一个熟悉多种语言的老程序员对编程语言、开发流程、google的战略等的思考,比较有趣。 五星推荐

作者熟悉二三十种编程语言,写了20多年代码。本书是作者对编程语言、开发流程、google的战略等的思考。比较有趣。

前面部分是作者对编程语言的一些思考。作者鄙视C++, Java,面向对象。比较有趣的是作者把编程语言和思想划分为自由和保守两大阵营。自由派希望快速发布,容忍bug和安全上的缺陷,保守派则重视安全和稳健

作者认为,设计优秀的弱类型系统比同样优秀的强类型系统更有竞争力。

作者推崇精简,认为代码最大的敌人是体格,也就是代码的行数。

作者认为Perl和Python两种语言的出现时间差不多,Perl市场占有率高出许多,原因是Perl创始人的天才营销,包括得到了Oreilly出版社的支持

作者谈到google的面试。他认为面试官们的个人技能性格阅历都会影响面试结果,面试充满偶然。当然面试通过的充分条件还是有的,作者最看重的是算法和数据结构。

作者笔下的Google的开发流程比较完美:有严格的单元测试、设计文档、代码审查,代码库整齐划一,如同出自一人之手;经理至少有一半时间写代码;安静的环境;没有甘特图任务表,优秀的程序员们为了自己的荣誉而努力工作。

作者认为google的缺陷是没有做平台的意识,没能做出一个比较大的平台来。亚马逊、facebook则成功地做出了平台。

时间: 2024-10-11 17:11:36

《程序员的呐喊》:一个熟悉多种语言的老程序员对编程语言、开发流程、google的战略等的思考,比较有趣。 五星推荐的相关文章

转: 如何成为一个通晓多种编程语言的程序员

如何成为一个通晓多种编程语言的程序员 2015-07-16 程序猿 学习一门新的语言是一种冒险.我总是热衷于尝试新的东西——学习新的语法,了解不同的模式,乃至彻底改变思维方式.不幸的是,许多开发人员对此不以为然,甚至可能是深恶痛绝的——学习新语言,就得走出舒适区,花时间花精力来学习新的理念和方法. 这段日子,我每天都要用大约5种不同的语言来写不同的项目! 我应该先学哪种语言? 有关这方面的讨论真可谓数不胜数.很多刚进入编程社区的初学者,都会问这个问题,简直就是前赴后继.有些人建议先学不费力的,如

《程序员的呐喊》读书笔记(上)

<程序员的呐喊>是Google一位老程序员的经验总结,文中展现了他对各大语言如Java.C/C++.Lisp.Python.Ruby.Perl等的极端观点,比如大力吐槽C++,极力推崇C.Lisp.Ruby.他的观点只是他个人经验所得,也不一定符合实情,仅供参考,有任何想法都可以说出来一起讨论. 程序员和司机一样,总是自我安慰说等到需要的时候再去学新技能也来得及.但是在内心深处他们都明白,其实当需求出现的时候就已经太晚了.因此现实情况是这样的,旱鸭子会和水保持距离,司机会绕开泥泞的路段,而程序

【转】是不是程序员总会遇到一个瓶颈期,觉得自己没有进步了,该怎么解决?

一 程序员的困惑 第一个跟我说这个的是小丁丁. 小丁丁在论坛时代的修真院,就已经是比较出名的了,他的学号是016. 在线上自学的时候会用Flex布局,还会做Gif动画. 当他说要来线下学习的时候,算是我第一个比较期待的人. 是的,那个时候我每天都会看他们的日报. 后来小丁丁成了修真院的睡袋师兄,几乎所有的线下师弟,在修真院打地铺的时候,都会找小丁丁买睡袋. 他也确实成长的很快,很快就可以独立完成一个项目了. 这很不容易,特别是在修真院的教学体系还不完善的时候.然后我把呆萌奎和小丁丁都留了下来,他

《程序员的呐喊》读后感

<程序员的呐喊> 作者:Steve Yegge (斯蒂夫·雅吉) [写在开篇的话] 我写这个东西,并不是炫耀我又读了一本书,而仅仅是作为我成长的历程,同时如果能够为正在读此“烂文”的你带来一星半点的影响,那末,就更好了. [正文] 由于一个偶然的机会,我从图书馆碰到了这本书,说是偶然,是因为我本来是去借<软件随想录>这本书的,并且偶然地被我带了回来. 此书给我的第一印象就是“呐喊”二字,我想肯定是牢骚万千的东西,只能当作茶余饭后的消遣读物来看. 但是我马上发现这个是多么荒唐的想法,

小读&lt;程序员的呐喊&gt;

世界杯期间,花了几个小时读完了这本<程序员的呐喊>. 个人感觉,这书名该叫做<"你可以拒绝"----一个程序员的咆哮>. 这本书最大的看点是体会喷子如何把喷演变成一种艺术. 虽然Yegge大部分时候都在喷,但是不可否认他的观察力确实很敏锐: 比如对C++的分类(愚钝的语言,温和的保守派),比如对"坏"敏捷的批判(一种营销,日程表的暴政),比如对JAVA代码膨胀的鄙视(代码的天敌) 当然,作为一本能出版的书,还是得有些建设性才行. 所以收录了作

《程序员的呐喊》读书笔记(下)

接着<程序员的呐喊>读书笔记(上),继续分享下篇,这次干货比较多哦,有静动态类型的优缺点.强弱类型系统的对抗.设计模式.程序员的数学.编译器的重要性以及保守派自由派的较量,一时消化不了的建议保存以便read it later. 静态类型和动态类型的优缺点 静态类型的优点下面列出了静态类型的主要优点:(1)静态类型可以在程序运行之前,依赖其与生俱来的限制来及早发现一些类型错误.(或是在插入/更新记录,解析XML文档等情况下进行检测.)(2)静态类型有更多机会(或者说更容易)优化性能.例如只要数据

80. 投奔怒海——一个Domino老程序员眼里的Java开发

这是一个以键盘鼠标为谋生工具已十多年的人初次进行专门的Java开发的体验和感受,对于Java程序员,这些也许早就习以为常,那就把这当成从一个来自不同世界的新人眼里看看他们自己的工作:对于我的Domino同行,这些体验或许将来有更多共鸣的可能. 在加入到这个Java产品开发团队之前,我的Java开发经验如下:十几年前跟着一本Java入门书做练习写的几个Applet,Domino项目开发中写的几个读写数据库和外部邮件的代理,XPages开发中的少量Java Beans和一个流程库.除此之外就只剩下对

神级python程序员只需要一个公众号,再也不会错过重要资讯

Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务.它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句. Python支持命令式程序设计.面向对象程序设计.函数式编程.面向切面编程.泛型编程多种编程范式.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收

如何成为一个牛逼的C/C++程序员?

这个题目的噱头太大,要真的写起来, 足够写一本书了. 本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路. 每个人的情况不一样,我下面的描述可能并不适合每一个看到这篇文章的人. 一.C/C++语言 如果你的基础很差, 建议不要一开始就学C++语言,从C开始学起,对程序有个初步的认识,循序渐进.C语言的书嘛,先买一本 300 页以内的,把书中的每一个例子都通过键盘敲打进去到 Visual studio里面去,然后单步执行,逐行调试去看各个变量的值.或者自行添加一些printf语句去输