`

一些IT哲学

 
阅读更多

下面是Unix的特点:(30多年过去了,这些东西早已变成经典)

  • Everything (including hardware) is a file
    所有的事物(甚至硬件本身)都是一个的文件。
  • Configuration data stored in text
    以文本形式储存配置数据。
  • Small, single-purpose program
    程序尽量朝向小而单一的目标设计
  • Avoid captive user interfaces
    尽量避免令人困惑的用户接口
  • Ability to chain program together to perform complex tasks
    将几个程序连结起来,处理大而复杂的工作。

 

Doug McIlroy 是认为UNIX的哲学是这样的:三条哲学,简明扼要,就是这三条哲学贯穿着整个Unix世界。尤其是第一条“do one thing and do it well”真是相当精彩!

  • Write programs that do one thing and do it well.
  • Write programs to work together.
  • Write programs to handle text streams, because that is a universal interface.

只要是Unix的程序员,他们会比别的程序员在任何时候都会不停地强调着这三条哲学。

而《The Art of Unix Programming》总结了下面这些哲学,都是至理名言啊。

  • Rule of Modularity: Write simple parts connected by clean interfaces.
  • Rule of Clarity: Clarity is better than cleverness.
  • Rule of Composition: Design programs to be connected to other programs.
  • Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
  • Rule of Simplicity: Design for simplicity; add complexity only where you must.
  • Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
  • Rule of Transparency: Design for visibility to make inspection and debugging easier.
  • Rule of Robustness: Robustness is the child of transparency and simplicity.
  • Rule of Representation: Fold knowledge into data so program logic can be stupid and robust.
  • Rule of Least Surprise: In interface design, always do the least surprising thing.
  • Rule of Silence: When a program has nothing surprising to say, it should say nothing.
  • Rule of Repair: When you must fail, fail noisily and as soon as possible.
  • Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
  • Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
  • Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
  • Rule of Diversity: Distrust all claims for “one true way”.
  • Rule of Extensibility: Design for the future, because it will be here sooner than you think.

X Windows 的设计者 Mike Gancarz 给出了下面九条哲学思想

  1. Small is beautiful.
  2. Make each program do one thing well.
  3. Build a prototype as soon as possible.
  4. Choose portability over efficiency.
  5. Store data in flat text files.
  6. Use software leverage to your advantage.
  7. Use shell scripts to increase leverage and portability.
  8. Avoid captive user interfaces.
  9. Make every program a filter.

在今天,这种思想依然被传承着,在影响着世界上各个角落的每一个程序员。

分享到:
评论

相关推荐

    ITIL管理中各流程概述

    更精确的解释:一系列出版物、IT服务管理的最佳实践、流程、指南、检查表、国际工业标准、管理哲学 IT服务提供者再也不能只关注技术和他们的内部组织,现在不得不考虑提供的服务质量,并关注与其客户之间的关系,IT...

    Linux哲学概述

    集思广益学习Linux哲学。了解Linux的基本特色,可作为linux的入门教程。

    十二篇富有哲理的英文PPT

    6.Philosophy for Life 人生哲学.pps 7.Salary Review 年底薪水总结.pps 8.Send SNOOPY to your friends 将SNOOPY送给你的朋友.pps 9.Things are not always what they seem 有些事情并不象看上去那样.pps 10.Think ...

    A.Philosophy.of.Software.Design.2018.4 (1).pdf

    It then discusses philosophical issues about how to approach the software design process, and it presents a collection of design principles to apply during software design. The book also introduces a...

    A-Philosophy-of-Software-Design-zh:A Philosophy of Software Design《软件设计的哲学》中文翻译

    而冠名为“哲学”,则是一些通用的原则和方法论,这些原则方法论串起来,能够形成一个体系。正如”知行合一”、“世界是由原子构成的”、“我思故我在”,这些耳熟能详的句子能够一定程度上代表背后的人物和思想。用...

    十七篇富有哲理的英文PPT.rar

    9.Philosophy for Life 人生哲学.pps 10.Salary Review 年底薪水总结.pps 11.Send SNOOPY to your friends 将SNOOPY送给你的朋友.pps 12.The best way to get rid of daily stress 摆脱生活压力秘诀.pps 13.Things ...

    Philosophy-Quotations:这是网络表达IT讲师Frank_FuckPPT的哲学名言

    Here are the philosophical quotations of Frank_FuckPPT, a network expressive IT lecturer 文档说明 该文档必须使用MarkDown语法编写 暂且格式声明(以下内容为格式分布) 暂行教育价值 哈哈哈,这就是死板教育...

    软件开发的哲学思考

    译者注:这篇文章虽然年代久远(1996年写的,对于IT行业来说用‘久远’二字应该说还是十分合适的),但读过之后还是为作者的才华所倾倒,这是不可多见的一篇文章。卡内基-梅隆软件开发学院及其它学院的研究人员用尽...

    《电子商务安全与管理》第2章.ppt

    《计算机不能做什么》是1979年哲学家休伯特·德雷福斯写的一本书,他想告诉人们,计算机不会左右我们的未来,但会影响我们的未来。2001年的“9.11”事件,造成了3500亿美元的损失,已影响到极不景气的世界经济的增长...

    IT巨子联想20年的45条成功法则

    把5%的希望变成100%的现实,是联想的管理哲学中最令人激动的部分之一。与其说这是管理,倒不如说这是信念。  (12)办公司就是办人。一支队伍比一个产品更重要,所以必须带出一支队伍来,公司才能长久。  (13)选拔...

    react-native-layit:一个用于响应本机的布局库,以帮助整洁且富有表现力的方式定位组件

    遵循react-native-row的哲学,该库有助于保留与布局和位置有关的不必要的样式表声明。 安装 npm install react-native-layit 或者 yarn add react-native-layit 基本用法 import React from 'react' ; import { ...

    adapt-it-mobile:在移动设备上的相关语言之间进行翻译

    的iOS 安卓 用户站点: : Adapt It Mobile是专门为移动设备设计的一种简单的相关语言翻译编辑器。 使用平板电脑或智能手机,您可以使用Adapt It Mobile将文本从一种语言快速...哲学 Adapt It Mobile是一个免费的

    ClickHouse 高性能、可扩展和低成本的OLAP数据库 陈光剑 20230912

    ClickHouse 设计哲学 具体问题具体分析 use good algorithms in a good context; 深入细节 dig into details; 度量指标 measure everything; 贴近生产环境 be close to production; 基准测试 do benchmarks, more of...

    交易分析:基本原则和哲学

    It. is hoped that, these articles will be of great value to 01 psychologists in working with students.) \%thin each of us there are t unique beings, or ego states: Par- ent, Adult, and Chil

    编程之道-----(中文版)

    在本书中,作者用一种幽默、辛辣的眼光审视着发生..."When you have learned to snatch the error code from the trap frame, it will be time for you to leave." “当你从我手中夺走水晶球时,就是你离开的时候了。”

    A Philosophy of Software Design - John Ousterhout.pdf.zip

    而冠名为“哲学”,则是一些通用的原则和方法论,这些原则方法论串起来,能够形成一个体系。正如”知行合一”、“世界是由原子构成的”、“我思故我在”,这些耳熟能详的句子能够一定程度上代表背后的人物和思想。用...

    Ansible-PromAnsible.zip

    Ansible-PromAnsible.zip,PromAnsible, 集成了Prometheuse(基于时间序列数据的服务监控系统)和Ansible(超级简单好用的IT自动化系统),并通过事件报警机制把二者紧密的结合在一起,并配以简单易用的WebUI,真正实现了...

    socialDocumentLibrary:一种应用程序,可帮助IT专业人员找到适合其教育的最佳书籍

    主要的投影哲学是以用户为中心的设计(UCD)。 该应用程序是IT书籍的文档库,在文档中,我将更详细地说明项目的范围和开发的生命周期。 Maninly由两个应用程序组成,最后一个用户的应用程序和雇员用户的应用程序。 ...

    全网最详细ChatGPT调教指南.docx

    编程/IT使用场景: 7 AI场景: 9 自助百科: 11 生活质量使用场景: 11 趣味知识: 12 心理/社交使用场景: 14 哲学/宗教使用场景: 15 学术/老师: 16 游戏使用场景: 17 各种工具场景: 18 终端解释器: 19 语言...

    Feminize It — пойми каково это!-crx插件

    是创建的女性化IT项目以解决两个任务:1.让每个人有机会感受到阅读内容,其中一切都不在其地方。2.有机会解决与女性的“权利”使用的争议现在更多:任务编号1。“女性化它”是钎焊的延伸(Chrome,yandex,歌剧,ej...

Global site tag (gtag.js) - Google Analytics