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

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

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

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

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

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

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

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

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

  1. flask实战-留言板-Web程序开发流程

    Web程序开发流程 在实际的开发中,一个Web程序的开发过程要设计多个角色,比如客户(提出需求).项目经理(决定需求的实现方式).开发者(实现需求)等,在这里我们假设自己是一个人全职开发.一般来说一个 ...

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

    这个题目的噱头太大,要真的写起来, 足够写一本书了. 本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路. 每个人的情况不一样,我下面的描述可能并不适合每一个看到这篇文章的人. 一.C/ ...

  3. 《转》如何成为一个牛逼的C/C++程序员?

    原地址:http://blog.csdn.net/langeldep/article/details/6333562 这个题目的噱头太大,要真的写起来, 足够写一本书了. 本人是过来人, 结合自身的体 ...

  4. 知名游戏开发者称 C++ 是一种非常糟糕、可怕的语言(C++不是一门可怕的语言,可怕的是一群没有耐心的程序员来使用C++这门语言)

    抛出一个问题:C++ 真的很可怕吗? 2016 年底,C++ 之父 Bjarne Stroustrup 在一次采访中表示:”C++ 让编程专家很容易编写出复杂.高性能.低资源消耗的代码,但不足以成为广 ...

  5. Netflix 开源 Polynote:对标 Jupyter,一个笔记本运行多种语言

    谈到数据科学领域的开发工具,Jupyter 无疑是非常知名的一种.它具有灵活高效的特点,非常适合进行开发.调试.分享和教学.近日,Netflix(奈飞)居然也玩起了跨界,他们开源了一个名为 Polyn ...

  6. 一个老程序员PHP程序员说的话(用来提醒自己)

    我,一个老程序员,也是一个学生,把玩过甚多语言,大多不精.我既非名牌学校,也不是高学历,仅代表一部分比较蛋疼的人.接触PHP也是很早了,从04年的OFSTAR开始的,到现在六年了,期间也接触过不少的语 ...

  7. Scheme语言实例入门--怎样写一个“新型冠状病毒感染风险检测程序”

    小学生都能用的编程语言 2020的春季中小学受疫情影响,一直还没有开学,孩子宅在家说想做一个学校要求的研究项目,我就说你做一个怎么样通过编程来学习数学的小项目吧,用最简单的计算机语言来解决小学数学问题 ...

  8. 一个工作三年左右的Java程序员和大家谈谈从业心得

    转发链接地址:https://mp.weixin.qq.com/s/SSh9HcA5PgMHv7xiolQkig 貌似这一点适应的行业最广,但是我可以很肯定的说:当你从事web开发一年后,重新找工作时 ...

  9. 分享一个超级好用的php程序员工具箱

    分享一个超级好用的php程序员工具箱,是由php中文网开发的. 集合了php环境搭建.在线小工具.原生手册.文字与视频教程.问答社区等 (php程序员工具箱 v0.1版本,点此下载:http://ww ...

随机推荐

  1. mysql服务设置远程连接

    一.前期准备 1.虚拟机/物理机    mysql环境(非本机)2.本机 navicat软件(验证远程连接) 二 .mysql配置 1.在远程主机的本机   使用root用户连接mysql mysql ...

  2. OC + RAC (二) Command 命令的用法

    -(void)_test2{ ///////////////////////////////////////Command 命令的用法 注意使用command.executionSignals去订阅时 ...

  3. 一篇文章让你详细了解何为JSON

    JSON详解: JSON的全称是“ JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交 ...

  4. springmvc上传文件异常

    症状: error:org.springframework.web.multipart.MultipartException: Current request is not a multipart r ...

  5. RxJava学习总结

    1. 概念 Rx是微软.NET的一个响应式扩展.Rx借助可观测的序列提供一种简单的方式来创建异步的,基于事件驱动的程序.Rx就是一种响应式编程,来创建基于事件的异步程序RxJava是一个在 Java ...

  6. JQuery触发hover事件无效时使用js原生的触发事件方法

    需求:在开发一个从微信公众号后台管理网页上爬取数据的chrome插件时,有部分页面元素是只显示了部分摘要信息的,需要把鼠标移上去后才能显示全部信息(类似title的弹出显示).这就需要在chrome插 ...

  7. elasticsearch-7.2.0 在windows环境的部署应用

    1.下载解压版"elasticsearch-7.2.0-windows-x86_64.zip",解压至"D:\server\elasticsearch-7.2.0&quo ...

  8. 理解JavaScript中的回调函数

    理解回调函数,首先要知道在JavaScript中,函数也是对象,它可以赋值给变量,也可以作为参数传递给另一个函数.比如: var add=function(a,b){ console.log(a+b) ...

  9. RESTful再理解

    目录 目录 前言 RESTful的目的 REST的含义 表现层 状态转化 无状态协议HTTP 最后 前言 这是在经过一段时间的积累后,对RESTFul框架的再一次更深入的理解.希望能够将零散的知识点连 ...

  10. Vagrant - 打造跨平台的一致开发环境

    官网 参考资料 借助 Vagrant ,可以使用 Vagrantfile 文件自动化虚拟机的安装和配置流程,方便快速的打造跨平台的统一开发环境. 1. Vagrant 是啥 Vagrant 用于构建及 ...