`
gaopenghigh
  • 浏览: 246097 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

软件的最终目的是为人类工作的--《Linux/Unix设计思想》读书笔记

阅读更多
《Linux/Unix设计思想》属于那种可以再零碎时间阅读的书,每一章节都介绍一个Unix/Linux的特性,自成体系,同时合起来有大致总结了Linux/Unix的设计上的特点。这些特点,平时使用Linux时肯定会注意到,但未必弄总结出来。

1. “小即是美”。也就是KISS原则。能简单的不要弄复杂和所谓高级,只满足90%的人的需求。
2. 尽快建立原型。要知道你不肯第一遍时就做得很好,而所有漂亮的程序都是修改迭代出来的。
3. 可移植性很重要,使用文本来存储数据。除非绝对必要,不必为性能二减少可移植性或者简单性。用可以直接修改的文本存储数据是最佳方案。
4. 充分使用软件的杠杆效应。能用shell的不用C,能用一些简单工具完成的就避免自己重写。
5. 避免不必要的交互,用户要对自己负责。
6. 让每个程序成为过滤器,用管道连接它们实现各种各样的功能。      

这些设计思想,都接受了几十年的考验,证明是很有效的。也时刻提醒着人,软件的最终目的是为人类工作的。
分享到:
评论

相关推荐

    RSGLXT-master_Linux/Unix编程_

    RSGLXT-master 是一个专为人事管理设计的系统,充分利用了Linux/Unix平台的强大功能,为企业的员工信息管理提供了高效、稳定且灵活的解决方案。Linux/Unix操作系统以其开源、稳定、安全的特性,在企业级应用中占据了...

    强制对齐htk-3.4.1-linux/Unix

    强制对齐htk-3.4.1-linux/Unix,包括HTK-samples-3.4.1.tar;HTK-3.4.1.tar。

    LINUX+UNIX设计思想

    《Linux\Unix设计思想/图灵程序设计丛书》内容简介:将Linux的开发方式与Unix的原理有效地结合起来,总结出Linux与Unix软件开发中的设计原则。《Linux\Unix设计思想/图灵程序设计丛书》前8章分别介绍了Linux与Unix中...

    LINUX_UNIX设计思想

    作为开发Unix多年的...到目前为止,没有一本书同时介绍Unix和Linux的设计理念,《Linux/Unix设计思想》将这两者有效地结合起来,保留了The Unix Philosophy中Unix方面的内容的同时,探讨了Linux和开源领域的新思想。

    Linux/UNIX系统编程手册课后习题代码

    《Linux/UNIX系统编程手册》是一本经典的教材,它深入浅出地介绍了Linux和UNIX操作系统下的编程接口。这本书涵盖了各种核心API,包括文件操作、进程管理、网络通信、信号处理等,是学习系统级编程的重要参考资料。...

    Linux-Unix设计思想

    将Linux的开发方式与Unix的原理有效地结合起来,总结出Linux与Unix软件开发中的设计原则。《Linux\Unix设计思想/图灵程序设计丛书》前8章分别介绍了Linux与Unix中9条基本的哲学准则和10条次要准则。第9章和第10章将...

    Linux_Unix设计思想.pdf

    3. **文本流处理**:在Unix/Linux中,一切皆为文件,包括设备、网络接口等。数据通过标准输入、输出和错误流进行处理,使得程序可以方便地读写数据。 4. **文件系统**:Unix/Linux采用层次结构的文件系统,每个文件...

    用Linux/UNIX Shell编程语言设计系统监控程序.pdf

    "Linux/UNIX Shell编程语言设计系统监控程序.pdf" 本文档主要介绍了使用Linux/UNIX Shell编程语言设计系统监控程序的方法。该程序使用Shell编程语言设计CGI脚本,通过使用过滤器awk在某些输出行中提取信息,然后在...

    linux/unix网络编程-甘刚,,linux编程.ppt

    ,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt

    linux/unix系统编程手册附录代码

    - `fork()`: 创建新进程,是Unix/Linux编程中最基本的函数之一。 - `execve()`: 在已存在的进程中替换其执行映像,加载新的程序。 - `wait()` 和 `waitpid()`: 等待子进程结束并获取其退出状态。 - `signal()`, ...

    Linux-UNIX系统编程手册.pdf

    Linux/UNIX系统编程是计算机科学领域中的一项核心技术,它主要涉及使用C语言对Linux或UNIX系统提供的底层接口进行操作。系统编程允许开发者执行诸如进程控制、文件操作、信号处理、进程间通信(IPC)以及网络编程等...

    libX11-1.5.0.tar.gz 的tar包

    In file included from /GDB/insight-6.8-1/tk/unix/../generic/tkInt.h:21, from /GDB/insight-6.8-1/tk/unix/../generic/tk3d.h:18, from /GDB/insight-6.8-1/tk/unix/../generic/tk3d.c:16: /GDB/insight-6.8-1...

    cyclictest软件包-linux/Unix内核RT测试

    `make`是Unix/Linux环境中用于自动化构建项目的命令,它会根据Makefile文件中的指令编译源代码。 6. **解决依赖**:如果在编译过程中遇到缺少`numa.h`头文件的问题,意味着系统可能缺少NUMA(Non-Uniform Memory ...

    Linux/UNIX网络编程》-甘刚-电子教案

    《Linux/UNIX网络编程》是甘刚教授撰写的一本深入探讨网络编程技术的专业书籍,主要针对使用Linux和UNIX操作系统进行网络应用开发的程序员。这本书详细介绍了如何在这些系统上构建网络应用程序,涵盖了从基础概念到...

    nexus-3.18.0-01-unix.tar.gz

    安装和运行 Nexus 3.18.0-01 在 Unix/Linux 系统上的步骤通常如下: 1. 首先,使用 `tar -zxvf nexus-3.18.0-01-unix.tar.gz` 命令解压文件。 2. 创建一个独立的目录,例如 `/opt/nexus/sonatype-work`,用于存放 ...

    LINUX.UNIX系统编程手册(下册)

    《linux/unix系统编程手册(上、下册)》是介绍linux与unix编程接口的权威著作。linux编程资深专家michael kerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。...

    XMS.rar_Linux/Unix编程

    【标题】"XMS.rar_Linux/Unix编程" 涉及的是在Linux或Unix操作系统环境下进行程序开发的知识,特别是与Delphi相关的编程实践。在Linux/Unix系统中,编程通常涉及C语言或C++,但这个特定的案例中提到了“Hand C SMS ...

    《LINUX/UNIX系统编程手册 上》.((德)Michael Kerrisk ).part2

    《LINUX/UNIX系统编程手册 上》.((德)Michael Kerrisk ),经典的linux/unix下c语言编程手册,分上下册,每册有150M,由于上传权限,是能把每册分割成3份上传

    build-arm-linux-4.2.1

    vi sysdeps/unix/sysv/linux/getsockname.S # 注释掉第 5 行的 "weak_alias(getsockname,__getsockname)" vi sysdeps/unix/sysv/linux/listen.S # 注释掉第 5 行的 "weak_alias(listen,__listen)" vi sysdeps/...

Global site tag (gtag.js) - Google Analytics