オーディオ Unixの哲学から学べること

Unixの哲学から学べること

目次:

Anonim

Unixは、そのさまざまな形で、コンピューター業界に大きな影響を及ぼしています。 ほとんどの一般ユーザーは直接それを処理しませんが、このオペレーティングシステムはインターネットのかなりの部分とそこにあるほぼすべてのスマートフォンを動かします。 プログラマーはそれを愛し、非常に正当な理由で。 Unixの魅力の多くは、作成者が行ったオリジナルの設計決定のいくつかに由来しています。その多くは、プログラミングの世界以外の人々のための教訓を持っています。 Unixプログラマーは、シンプルさと優雅さを重視したプログラミングの哲学をよく守りますが、これらの教訓はソフトウェア開発以外にも適用できます。 (このOSの背景については、What Makes Unix Special?を参照してください。)

小さく保つ

大規模なモノリシックプログラムに慣れている多くの人々にとって驚くべきことの1つは、多くのUnixおよびLinuxシステムに付属している膨大な数の小さなユーティリティです。 テキストの検索、ファイルの移動、ファイルの表示、ファイルの編集などのためのツールがあります。 それらのほとんどは、いくつかの例外を除き、わずか数キロバイトです。


また、これらのプログラムの多くは、多くの機能を備えていません。 たとえば、テキストエディタには通常、スペルチェッカーはありません。 Unixプログラムは一緒に動作し、複数のことを行うように設計されています。概念については後で詳しく説明します。


一般的な格言によると、「作業の10%が問題の90%を解決します」。 言い換えれば、おそらく使いさえしない機能を備えた複雑なプログラムよりも、小さくてシンプルなツールを使用したほうがよいでしょう。

テキストを使用

Unixが有名な、あるいは悪名高いのは、プレーンテキストに大きく依存していることです。 これは、高解像度のグラフィックスとGUIの時代には粗雑に見えるかもしれませんが、これにはいくつかの大きな利点があります。


ほとんどすべてのシステム構成ファイルはプレーンテキストで保持されます。 これは、ユーザーが特別なツールなしでこれらのファイルを表示および編集できることを意味します(適切なアクセス許可がある場合)。 レジストリのようなものはないので、UnixおよびLinuxバージョンのレジストリエディタのようなものはありません。


テキストはデータの最小公分母です。つまり、他のシステムはテキストファイルを読み書きできます。 これは簡単なファイル交換を可能にするだけでなく、データを「将来性のある」ものにし、次世代のマシンとその後の世代のマシンで確実に読み取れるようにします。 それは私たちをもたらす…

どのプラットフォームにも接続しすぎないでください

ハードウェアプラットフォームはクールです。 ソフトウェアプラットフォームはクールです。 わかった。 しかし、Windows XPに依存している多くの人々が気づいているように、プラットフォームには寿命があります。 (in:なぜ今がWindows XPを捨てるのか?)


プラットフォームは行き来しますが、プラットフォームに縛られていると、移動しなければならないときに苦痛を感じることがあります。


Unixの設計者は、PDP-7アセンブリ言語ではなく、高級言語であるCでシステムを書き換えたときに大きな変更を行いました。 Cはさまざまなハードウェアプラットフォームで実行できるため、Unixは、比較的少ない変更でさまざまなハードウェアプラットフォームに移植できる最初のオペレーティングシステムになります。


これをUnixの古いライバルであるVMSと比較してください。VMSは、Digital Equipment Corporationの最初のVAXミニコンピューター、Alphaプロセッサー、そして最後にItaniumプロセッサーと密接に結びついていました。 DECの技術の現在の所有者であるHPは、ついにVMSのプラグを抜き始めました。


Unixは、さまざまな形で、特にさまざまなオープンソースバージョン、特にLinuxで繁栄しています。

ワン・シング・ウェル

Unixプログラムは、すべての人にすべてのことをしようとするのではなく、1つのことを行い、それをうまく行うように設計されています。 ほとんどのUnixプログラマーは、複雑なIDEではなく、テキストを編集するだけのテキストエディターで作業することを好みます。


Unixプログラムは、テキストストリームに何かを実行し、他に何も追加しないパイプラインを形成するフィルターとして設計されています。


Unix搭載のスマートフォンで実行されているモバイルアプリですか? また、一度に1つのことを行います。

視聴者に自由を与える

Linuxの成長は、オープンソースおよびフリーソフトウェアの動きと呼ばれるものも普及させました。 あなたが熟練したプログラマーなら、ソースコードを修正して好きなものを手に入れることができます。 しかし、Unixは、たとえ自分が足で撃たれたとしても、コンピューターでやりたいことを何でも自由に行えるという点で常に特別です。 (オープンソースはあまりにも優れていると言う人もいます。本当ですか?ここをご覧ください。)

連携するものを構築する

Unixの特徴的な機能の1つは、コマンドの入力と出力を複雑な「パイプライン」にリダイレクトするシェルの機能です。 これは、多くのUnixプログラムのテキスト指向と、それらの出力が非常に簡潔である理由を説明しています。

自動化、自動化、自動化

Unixはまた、さまざまなシェル(最初はBourneシェル、次にCシェル、次にBash)でスクリプトの概念を普及させました。 PerlやPythonなど、多くのスクリプト言語が登場しました。 単純なタスクを自動化する場合、有用なことを行うためにより多くの時間を費やすことができます。

Unixは時の試練に耐えた

Unixは1969年以来、その背後にある哲学が非常に魅力的であるという理由だけで、何らかの形で粘り強く取り組んできました。 プログラマーでなくても、シンプルさや優雅さの長所を、管理、システム管理、または人生の他の分野に関係なく、あらゆるプロジェクトに取り入れることができます。 Unixの哲学を包括的に見るには、Mike Gancarzの本「Linux and the Unix Philosophy」をご覧ください。 IT業務に適用できる教訓とそれを超えた教訓が満載です。

Unixの哲学から学べること