编程&软件开发段子

收集些编程&软件开发领域的一些概念或者论述,不知道怎么定义这些有意思的小句子,暂且命名为段子好了。

Joe老爷子的似乎一直都蛮多

  • programming is not about code, it’s about understanding.

  • everything is a process.

  • process creation and destruction is a lightweight operation.

  • message passing is the only way for processes to interact.

  • processes have unique names.

  • if you know the name of a process you can send it a message.

  • processes share no resources.

  • error handling is non-local.

  • processes do what they are supposed to do or fail.

Martin Fowler的很多论述也是一语中的

  • one of the challenges of software development is that you can only make decisions based on the imperfect information that you currently have to hand

  • 程序员知道种种优势,却对代价一无所知。

  • 经常失败。早点失败。快速失败。拥抱失败是走向成功的一种方式。不要害怕失败,要学会接受失败。(接受失败不是一件容易的事情,因为沉没成本往往会错误指导你的下一步决策)

  • 所有软件系统都可以分解为两个主要元素:策略和细节。策略元素包含所有业务规则和过程。策略是系统的真正价值所在。

  • 而细节是使人类、其他系统和程序员能够与策略进行通信的必备基础,但是这些细节都不会影响策略的行为。细节包括 IO 设备、数据库、Web 系统、服务器、框架、通信协议等等。

  • 架构师的目标是为系统创建一个外形。这个外形将策略看做是系统中最重要的元素,同时做到细节与策略无关。这使得有关细节的决策可以延迟和推后。