zoukankan      html  css  js  c++  java
  • 《编程人生》读书笔记

    为什么喜欢编程?

    Jamie Zawinski

    • 觉得人工智能很迷人,于是学习Lisp
    • 喜欢捣鼓用户界面、学习Lisp机器工作机制、折腾操作系统
    • 喜欢团队争论技术问题的氛围
    • 发布的Netscape产品影响了人们的生活
    • 喜欢编程解决数学计算、几何和图形之类的谜题

    Brad Fitzpatrick

    • 两岁起就开始玩或看父亲玩Apple II,5岁时父亲就教他编程
    • 出于和朋友们闹着玩的目的,开发了LiveJournal
    • 看到别人在使用自己写的软件,感觉很酷

    Douglas Crockford

    • 机缘巧合学习了Fortran课程,发现自己很擅长编程

    Brendan Eich

    • 在圣克拉拉大学读物理本科,常常去斯坦福大学研究DEC分时系统
    • 喜欢写程序,喜欢上数学和计算机方面的课,喜欢研究和讨论自动机理论和形式语言
    • 被编程中理论与实践的结合所吸引,特别是在编译器构造过程的前端

    编过哪些程序?

    Jamie Zawinski

    • 领导开发了Lucid Emacs
    • Unix平台下的Netscape浏览器
    • 邮件阅读器
    • 屏幕保护程序

    Brad Fitzpatrick

    • 机器人程序,往聊天室灌水、提交线上表单
    • 投票程序
    • LiveJournal社区
    • 对手机棋类游戏写了个求解程序

    Douglas Crockford

    • 反汇编Fortran系统运行时
    • 发明JSON

    Brendan Eich

    • 开发《吃豆人》、《大金刚》等游戏
    • 写形式语言生成器、宏指令处理器
    • 在Silicon Graphics写了网络管理和数据包嗅探层

    怎样编程?

    Jamie Zawinski

    • 具有把东西大卸八块的好奇心,渴望弄明白底层是怎么回事
    • 不断地挖掘源代码和参考手册
    • 具备快速掌握别人的代码并弄清楚其用法的技能
    • 注释要描述用处、原因、范围等有价值的东西

    Brad Fitzpatrick

    • 了解系统底层正在发生的事情,不轻信别人的库、代码和接口
    • 设计软件时,从接口开始,比如常用方法、常用RPC或常用查询
    • 要试着做点更难的东西,超出能力范围的东西
    • 要多读代码,从别人的代码中往往能学到新东西
    • 当我在bin目录里写些很傻的shell脚本、Perl脚本,或者别的东西做自动化,它一定会有回报的
    • 像科学家那样思考,一次改变一样东西;学会增量地开发,这样每一步都能进行验证
    • 有耐心,试着去了解问题的本质

    Douglas Crockford

    • 倡导良好的代码阅读方法,开发者多花点时间阅读彼此的代码
    • 编写可读性强的代码,在代码规范性、问题分解方法等方面注意可读性
    • 精通读写能力,对程序员的建议:多读、多写

    使用什么编程语言?

    Jamie Zawinski

    • Lisp

    研究人工智能需要用到。

    • C

    使用C语言来克服机器性能不高的问题。

    • Java

    不存在你拼命要避开的概念、对模块化的要求高

    • Perl

    电脑默认安装、方便

    Brad Fitzpatrick

    • Perl

    Perl从不限制我写代码的风格

    • C
    • Java, C++, Python, Javascript, C#

    需要时会使用这些语言

    Douglas Crockford

    • JavaScript

    Brendan Eich

    如何定位自己?

    Jamie Zawinski

    • 处于手艺人和艺术家之间,具体看是什么项目

    Brad Fitzpatrick

    • 科学家或者工程师吧。你必须懂得科学的方法,一次改变一样东西,如何诊断问题。工程师是指设计方面的
    • 我不觉得自己是在和谁竞争,我也不太关心别人是否比我更好,因为我觉得已经有无数人比我好了。我发现我们总是处于中间位置,而我也很乐意保持在这个位置上。

    Douglas Crockford

    • 作家

    Brendan Eich

    书籍推荐

    Jamie Zawinski

    • 《计算机程序的构造和解释》

    Brad Fitzpatrick

    • 《高阶Perl》
    • 《计算机程序设计艺术》

    Douglas Crockford

    • 《计算机程序设计艺术》

    Brendan Eich

    • 《计算机程序设计艺术》
  • 相关阅读:
    SpringCloud学习系列之四-----配置中心(Config)使用详解
    阿里云Docker镜像仓库(Docker Registry)
    阿里云Docker镜像加速
    Docker安装(yum方式 centos7)
    Docker Nginx安装(centos7)
    Dockerfile文件详解
    mysql 开发进阶篇系列 6 锁问题(事务与隔离级别介绍)
    mysql 开发进阶篇系列 5 SQL 优化(表优化)
    mysql 开发进阶篇系列 4 SQL 优化(各种优化方法点)
    sql server 性能调优之 资源等待PAGELATCH
  • 原文地址:https://www.cnblogs.com/wuhualong/p/reading_note_coders_at_work.html
Copyright © 2011-2022 走看看