IT人员可以从Unix哲学中学到什么

作者: Eugene Taylor
创建日期: 7 八月 2021
更新日期: 17 六月 2024
Anonim
Principles For Success by Ray Dalio (In 30 Minutes)
视频: Principles For Success by Ray Dalio (In 30 Minutes)

内容



带走:

Unix以其简单,精简的方法为许多程序员提供了他们所需要的东西。

Unix以其各种形式对计算机行业产生了深远的影响。尽管大多数普通用户不会直接使用它,但该操作系统为互联网的绝大部分和几乎所有的智能手机提供了动力。程序员很喜欢它,并且有很好的理由。 Unix的许多吸引力来自其创建者做出的一些原始设计决策,其中许多都为编程世界以外的人们提供了经验教训。 Unix程序员通常坚持强调简单性和优雅性的编程哲学,但是您可以将这些课程应用到软件开发之外。 (在《什么使Unix变得特别?》中获得此操作系统的背景知识。)

保持小巧

对于习惯于大型单片程序的许多人来说,令人惊讶的一件事是许多Unix和Linux系统都附带了大量的小型实用程序。有用于搜索,移动文件,查看文件,编辑文件等的工具。除了少数例外,它们大多数都只有几千字节。

此外,其中许多程序都没有很多功能。例如,编辑器通常没有拼写检查器。 Unix程序被设计为可以协同工作,并且不仅仅要做一件事,这些概念将在以后进行详细说明。

一条谚语说,“百分之十的工作解决了百分之九十的问题。”换句话说,使用一个更小,更简单的工具可能比拥有甚至不使用的功能的复杂程序更好。

采用

Unix之所以著名而闻名(也许是臭名昭著)是它对纯文本的严重依赖。尽管在高分辨率图形和GUI时代这似乎是粗糙的,但这样做有一些主要好处。

几乎所有的系统配置文件都保存在纯文本中。这意味着用户无需特殊工具即可查看和编辑这些文件(前提是它们具有正确的权限)。在Unix和Linux版本中,没有注册表编辑器之类的东西,因为没有注册表。

是数据的最低公分母,这意味着任何其他系统都可以读写文件。这不仅可以轻松交换文件,还可以“验证未来”的数据,以确保下一代计算机及其后的下一代计算机可以读取它们。这带我们去...

不要太依赖任何平台

硬件平台很棒。软件平台很棒。我们知道了。但是平台具有使用寿命,因为许多仍然依赖Windows XP的人正在发现。 (有关更多信息,请参见:为什么现在放弃Windows XP。)

平台来来去去,如果您将平台包裹在一起,那么当您不得不移动时可能会很痛苦。

Unix的设计师在用高级语言C(而不是PDP-7汇编语言)重写系统时进行了重大更改。 C可以在不同的硬件平台上运行,从而使Unix成为第一个可以以相对较少的更改移植到不同的硬件平台的操作系统。

与此形成鲜明对比的是Unix的老对手VMS,后者与Digital Equipment Corporation的VAX小型计算机产品线密切相关,然后与Alpha处理器以及最后的Itanium处理器紧密相关。惠普是DEC技术的当前所有者,惠普终于开始取消对VMS的使用。

各种形式的Unix都在蓬勃发展,尤其是在各种开源版本下,尤其是Linux。

一件事做好

Unix程序被设计为做一件事情并且做得很好,而不是试图成为所有人的一切。大多数Unix程序员更喜欢在仅编辑的编辑器中工作,而不是复杂的IDE。

Unix程序被设计为过滤器,以对流执行某些操作,并且不添加任何内容,形成一个管道。

那些在基于Unix的智能手机上运行的移动应用程序?他们一次也做一件事。

让观众自由

Linux的发展也普及了所谓的开源和自由软件运动。如果您是熟练的程序员,则可以修改源代码以获取所需的内容。但是Unix一直很特别,因为它使您可以自由地在计算机上做任何想做的事情,即使您最终用脚射击也是如此。 (有人说开源太好了,难以置信。是吗?在这里找到。)

建立共同工作的事物

Unix的独特功能之一是shell能够将命令的输入和输出重定向到复杂的“管道”中。这解释了许多Unix程序的共同定位,以及为什么它们的输出如此简洁。

自动化,自动化,自动化

Unix还通过各种shell普及了脚本的概念,首先是Bourne shell,然后是C shell,然后是Bash。已经出现了许多脚本语言,包括Perl和Python。如果您将简单的任务自动化,那么您将有更多时间花在做有用的事情上。

Unix经受了时间的考验

自1969年以来,Unix就一直坚持一种或多种形式,仅仅是因为其背后的哲学不可抗拒。即使您不是程序员,也可以将简单和优雅的优点带入任何项目,无论是管理,系统管理,还是生活中的其他领域。要全面了解Unix哲学,请查阅Mike Gancarz的书“ Linux and Unix Philosophy”。您可以将其完整的课程应用于IT工作以及其他方面。