覚えたら書くスマートフォン用の表示で見る覚えたら書くIT関係のデベロッパとして日々覚えたことを書き残したいです。「UNIXという考え方―その設計思想と哲学」の気になったところの抜粋。人類にとっての小さな一歩この世には、大きなプログラムを書くことを生きがいにしているソフトウェア技術者がいる。自分以外の誰にも理解できない大きなプログラムを書くことが「職の安定」につながると考え、書いたアプリケーションプログラムの大きさが、プログラマとして器の大きさを決めると信じているのだ巨大で複雑なプログラムの開発者は、「将来が予測可能で、そして現在と大きく変わらない」という勝手な思い込みを前提としている一方、小さなプログラムの開発者は、未来の予測などは最初から諦めている。彼らの予期することは、明日作られるものは今日作っているものとは違うということでしかない最良のプログラムは生涯において一つのことをうまくやるプログラムだ。プログラムはメモリにロードされて、所定の働きをし、次の単一機能のプログラムの実行のために道を譲る最初からうまくやろうとするより、「最初はうまくいかない」と考えて対処した方がより賢明といえるだろう。楽しみと実益をかねた早めの試作UNIXの開発者は、詳細な機能仕様書や設計仕様書についての見方が異なる。目的は伝統的な方法論と同じだが、物事を進める順序が違う短い機能仕様書を書くソフトウェアを書くテストして書き直す。満足できるまでこれを繰り返す詳細なドキュメントを(必要なら)書く伝統的な方法では、膨大で退屈な文書をユーザーに示し、システムの完成図を読み取ってもらおうとするのに対し、UNIXプログラマは実際に機能するアプリケーションを示す十分な設計をせずに大規模システムのコーディングに取りかかれと言っているのではない。適切な目標を見極めるためにも、ある程度の熟練は必要だ。移植可能なソフトウェアは、書かれたその日から大きな価値を持っているよいプログラムは死なず、ただ新しいハードウェアに移植されるのみ移植性が重要であることは明らかだ。プログラムを移植しやすく、データを持ち運びやすくしておくことで、ソフトウェアに長期的で具体的な価値が生まれる新しいプラットフォームが続々と現れてくる現状では、移植できないと生き残ることはできない。業界の新発表によってソフトウェアの価値がゼロになってしまうのを見守る代わりに、最初に計画しておくことだ。これこそ梃子の効果!すべてのコードを自分で書くことが職の安定につながると考えるプログラマもいる。「良いコードを書くから、必ず仕事がある」というわけだ。ここで問題は、良いコードを書くには時間がかかることだ。アプリケーションで使用するコードの一行一行を全部自分で書いているのでは、仕事が遅く効率の悪いプログラマをみなされかねないあるグループが他グループのアプリケーションの価値を認めない、市販品を使うよりゼロからの開発を好む、他人が書いたソフトウェアは、他人が書いたものだから使わない・・・このような症状が見られたら独自技術症候群を疑ったほうがいい最も成功する会社は、他からソフトウェアを「借用」し、独自拡張を行う会社だ。このことを業界用語で「付加価値をつける」という最も成功するソフトウェアはどれかと言えば、最も多くのコンピュータで使われているソフトウェアということになる。対話的プログラムの危険性アプリケーションは、相互にうまく意思疎通ができる小さな部品の集まりとして作った方が高い価値を持つ。人間と対話がうまくいくかどうかは問題ではない自分のソフトウェアがどう使われるのか。予測できる人などいない。プログラマにできる最善のことは、インタフェースをできるだけ柔軟にし、現在分かっている範囲内でできるだけ多くの事態に備えておくことだ。明日のことは、明日に任せるより仕方がない「そういうことをするためのソフトウェアじゃありません」と何度電話口で言ったことだろうか。ユーザーがソフトウェアをどう使うかは、決して予測できない。さらなる10のUNIXの考え方ほとんどのソフトウェアは妥協の産物だ。完成することはなく、ただリリースがあるだけだ。一つのことをうまくやろう一つのことをうまくやるプログラムは、他のアプリケーションの中でも比較的簡単に再利用できる。読者になるスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。