Unix Philosophy
2013-04-18无论管理还是开发linux/unix系统,理解Unix哲学(Unix Philosophy)都会提高生产力。
部分Unix哲学:
1、 皆为文件:everything is a file;
2、 简单原则:KISS Principle(keep it simple, stupid), 尽量用简单的方法解决问题;
3、 Make each program do one thing well一个程序只做一件事,并做好;
4、 糟糕更好(Worse is better)。程序随需求而增长
5、 优化原则:先求运行,再求正确,最后求快。(Make it run, then make it right, then make it fast.)
6、 小既是美:Small is beautiful. Write programs that do as little as is consistent with getting the job done.
三条Write programs哲学:
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.
Basics of the Unix Philosophy:
1.Rule of Modularity: Write simple parts connected by clean interfaces.
2.Rule of Clarity: Clarity is better than cleverness.
3.Rule of Composition: Design programs to be connected to other programs.
4.Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
5.Rule of Simplicity: Design for simplicity; add complexity only where you must.
6.Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
7.Rule of Transparency: Design for visibility to make inspection and debugging easier.
8.Rule of Robustness: Robustness is the child of transparency and simplicity.
9.Rule of Representation: Fold knowledge into data so program logic can be stupid and robust.
10.Rule of Least Surprise: In interface design, always do the least surprising thing.
11.Rule of Silence: When a program has nothing surprising to say, it should say nothing.
12.Rule of Repair: When you must fail, fail noisily and as soon as possible.
13.Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
14.Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
15.Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
16.Rule of Diversity: Distrust all claims for “one true way”.
17.Rule of Extensibility: Design for the future, because it will be here sooner than you think.
参考:
http://www.linfo.org/unix_philosophy.html
http://ph7spot.com/musings/in-unix-everything-is-a-file
http://www.faqs.org/docs/artu/ch01s06.html