`

一些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.

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

分享到:
评论

相关推荐

    van的配音-mp3文件-哲学

    在IT行业中,音频处理是一项重要的技能,特别是在多媒体创作和内容制作领域。本资源包名为"van的配音-mp3文件-哲学",其中包含了与哲学相关的配音作品,由知名人士van进行演绎。这类素材在目前的市场上较为稀缺,...

    08年新东方考研哲学笔记

    根据给定文件的信息,我们可以提炼出以下相关的IT知识点(这里主要指哲学知识点,因为题目要求是基于提供的非IT内容): ### 哲学基础知识概述 #### 1. 哲学的科学内涵 - **定义**:哲学是理论化、系统化的世界观...

    哲学家就餐问题JAVA解决算法

    在实际编程中,避免死锁和确保系统资源的有效利用是非常重要的,这对任何从事多线程开发的IT专业人员来说都是必备技能。 总结一下,这个Java实现的哲学家就餐问题探讨了以下几个核心知识点: 1. **多线程编程**:...

    香蕉君的登场-哲学-绿幕特效

    “哲学”标签暗示了这个视频可能会探讨一些抽象的概念,通过视觉艺术的方式呈现哲学思考,使观众在观看娱乐内容的同时,也能引发深度的思考。绿幕技术在此可以用来创建虚拟环境,模拟不同的哲学情境,如宇宙、梦境、...

    软件开发的哲学思考

    作者通过对软件开发过程中存在的问题进行分析,揭示了软件开发与人类思维、创造力之间的密切联系,并提出了关于如何改进软件开发过程的一些思考。 #### 二、软件开发的本质 软件开发是一种高度依赖于人类思维的...

    哲学家问题

    《哲学家问题》是计算机科学领域中多线程编程中的一个经典示例,它由美国计算机科学家...在实际开发中,了解如何正确管理和控制线程的并发行为,避免死锁、活锁和饥饿等现象,是每个IT专业人员必须掌握的核心技能之一。

    van的闪场-绿幕特效-哲学

    在IT行业中,绿幕特效(Green Screen Effect)是一种广泛应用的视觉技术,特别是在视频制作、电影特效和游戏开发等领域。这种技术允许创作者将拍摄的人物或物体与背景分离,然后将其放置在任何想要的虚拟环境中,...

    哲学家进餐问题

    以下是一些主要的解决方案: 1. 避免死锁:固定哲学家拿起筷子的顺序。例如,规定所有哲学家总是先拿起左边的筷子,然后再拿右边的。这样可以确保至少有一个哲学家能够拿起两根筷子并开始吃饭,而不会导致所有人...

    哲学之四-----发展观.ppt

    在IT行业中,哲学思想同样具有深远的影响,尤其是发展观,它是理解技术创新和科技进步的核心原则。发展观不仅是哲学的范畴,也是技术进步的驱动力。在技术领域,发展观体现在以下几个方面: 1. **发展的普遍性**:...

    软件接口的哲学思考与开发实例

    在IT行业中,软件接口扮演着至关重要的角色,它连接了软件的不同部分,使得它们能够...接口设计不仅关乎技术实现,更是软件工程哲学的体现,它关乎如何构建优雅、高效的系统,是每个IT专业人员必须掌握的核心技能之一。

    《哲学与人生》期末考试B卷.doc

    不过,我们可以从中提炼出一些哲学思想,并尝试将其与IT行业相结合,探讨哲学在IT中的应用和意义。 【部分内容】涉及的知识点包括: 1. **本质与现象**:在IT行业中,本质是指一个系统或技术的核心功能和特性,而...

    哲学家就餐改版

    在IT行业中,"哲学家就餐问题"是一个经典的多线程同步问题,源于计算机科学之父Edsger Dijkstra提出的设想。这个问题旨在模拟五个哲学家在餐桌旁就餐的情景,他们每人需要同时使用两把筷子来吃饭。如果筷子的分配...

    政治必修4 生活与哲学 思维导图[精选.].pdf

    很抱歉,由于您提供的文件信息为“政治必修4 生活与哲学 思维导图[精选.].pdf”,这似乎属于高中政治课程中的内容,主要探讨的是哲学基础知识,而非IT行业的专业知识点。不过,我们可以将哲学思维应用到IT行业中,...

    1.1 生活处处有哲学 导学案-2020-2021学年高中政治人教版必修四.docx

    根据给定文件的信息,我们可以提炼出以下相关的IT知识点(这里主要指从哲学角度理解与IT相关的概念和技术,以便满足题目要求): ### 哲学与信息技术的关系 #### 1. **哲学的产生与信息技术的发展** - **哲学的...

    政治哲学生活练习题.docx

    很抱歉,但根据您提供的文件信息,这似乎是一个关于政治哲学和经济的练习题文档,包含高中课程的相关内容。然而,您要求的是IT行业的专业知识。由于文件内容并不涉及IT领域,我无法按照要求生成相关的IT知识点。如果...

    哲学-火影集结-youtube视频

    在IT行业中,视频制作是一个重要的领域,特别是在娱乐和创作领域,如YouTube。"哲学-火影集结-youtube视频"这个标题暗示了一个结合了哲学概念与《火影忍者》元素的创意视频作品。该视频可能是在YouTube上发布,旨在...

    舍得的哲学.doc

    在IT行业中,舍得的哲学同样具有深远的影响。在快速发展的技术领域,我们常常需要面对选择,舍弃一些旧的技术、过时的观念,才能得到新的发展机会和创新成果。这不仅是个人成长的智慧,也是企业战略的重要组成部分。...

    哲学社会科学领军人才推荐人选信息汇总表.docx

    很抱歉,根据您提供的文件标题和描述,它们似乎与IT行业知识无关,而是关于哲学社会科学领域的人才推荐信息。不过,我可以为您提供一个关于哲学社会科学与IT行业交叉领域的概述,特别是如何在IT行业中应用哲学和社会...

    微信之父张小龙的产品设计思想和哲学非常值得深思

    【微信之父张小龙的产品设计思想与哲学】张小龙,被誉为“微信之父”,他的产品设计理念和哲学在IT行业中极具影响力。从他的成名作Foxmail到如今全球热门的微信,张小龙的产品理念贯穿始终,追求极致的用户体验和...

    从哲学层面了解操作系统

    操作系统是计算机科学中的核心组成部分,它管理着计算机硬件与软件资源,为用户和应用程序提供服务。...这样的学习方式不仅有助于我们成为更全面的IT专业人士,也能让我们更好地理解和应对日新月异的科技世界。

Global site tag (gtag.js) - Google Analytics