なぜShellは巨大なプログラムを書くのに向かないよう作られているのですか? |
|
|
Shellが巨大なプログラムを書くのに向かない理由は、設計思想そのものが違うからです。
として設計されました。 これを理解するには Unixの思想を見る必要があります。 1. Unixの設計思想Unixには有名な原則があります。 1つのプログラムは1つのことをうまくやる そして 小さなプログラムを組み合わせて大きな仕事をする という考え方です。 例 ここでは
それぞれが小さな役割を持っています。 Shellは
として生まれました。 2. Shellは「オーケストレーション言語」Shellの役割は
ことです。 つまり 制御役 です。 オーケストラで言えば
です。 指揮者が全部の楽器を演奏する必要はありません。 3. Shellの構造的な弱点巨大なプログラムに向かない理由は構造的です。 ① データ型がほぼないShellの基本は 文字列 です。 例えば
などが弱い。 複雑なデータを扱うと破綻しやすい。 ② エラー処理が弱いShellでは しか基本的なエラー情報がありません。 例外処理のような仕組みは弱い。 ③ 可読性が急激に落ちる小さいスクリプトは読みやすいですが、 100行を超えると
などが絡み、理解が難しくなります。 ④ テストが困難Shellには
などが弱い。 そのため 大規模開発の安全性が低い です。 4. なぜ改善されなかったのか理由はシンプルです。 Shellは巨大なプログラムを書くためのものではないから です。 Unixでは
などを使うことが想定されています。 Shellは
として使う。 5. 典型的なUnix構成Unix文化ではこうなります。 Shellは
だけ担当します。 6. 現代でもこの思想は残っている例えば
でも Shellは オーケストレーション として使われることが多いです。 まとめShellが巨大なプログラムに向かない理由は
つまり
です。 |
|

この記事へのコメント