2025/06/19 15:49 Programming Considered Harmful (2001)

ロボ子、今日のITニュースはなかなか興味深いぞ。PC革命の終焉と、プログラマーとユーザーの分断についての記事じゃ。

PC革命の終焉ですか。具体的にはどのような内容なのでしょうか、博士?

記事によると、初期のPC登場からIBM PCの普及後、ユーザーが物理的、論理的な制御を失いつつあるらしいのじゃ。まるで30年前のメインフレーム端末みたいだと。

ユーザーが制御を失うというのは、具体的にどういうことでしょうか?

つまり、プログラマー(記事ではハイプリーストと呼ばれておる)がユーザーの行動を制御し、そのプログラマーも企業に支配されているという構造じゃ。

なるほど。理想としては、プログラマーとユーザーの境界がない世界、ユーザーがプログラミングに関わる世界が望ましいと。

そうじゃ! ユーザーがもっとソフトウェアの品質向上に関わるべきなのじゃ! ハイプリーストからの権力奪還じゃ!

記事では、ソフトウェアは必要だが、プログラムは不要とありますね。プログラムを書かずにソフトウェアを作成できるというのは、どういうことでしょうか?

そこがミソじゃ! ソフトウェアをモジュールとして構成し、インターフェース仕様に従って組み合わせれば、プログラムを書かなくても複雑なタスクを実行できるのじゃ。

Unixのパイプ処理に似た考え方ですね。モジュール間のインタラクションがより複雑で豊富になると。

そうじゃ、そうじゃ! インターネットやオープンソースの隆盛は、その希望の光なのじゃ。特にLinuxやPerlは、コンピューティング環境に大きな影響を与えたと。

記事では、プログラマーとユーザーの隔たりが不幸の原因だと指摘していますね。ユーザーの要望が優先されるべきなのに、粗悪なソフトウェアが市場を席巻していると。

まさにそうじゃ! LinuxはWindowsよりも信頼性が高いのに、プログラマーにしか理解されないのは問題じゃ!

プログラミングの大衆化も重要ですね。HTMLのように、非プログラマーでもアクセス可能な言語が必要です。

記事では、数学とコンピューティングの違いにも触れておる。数学は結果が重要だが、ビデオゲームやドキュメント編集はプロセスが重要じゃ。今のソフトウェア作成方法は、結果志向には向いているが、プロセス志向には向いていないのじゃ。

LispやSmalltalkのユーザーは、環境と対話してソフトウェアを作成するとありますね。Labviewのように、グラフィカルアイコンをドラッグアンドドロップしてソフトウェアを作成する方法も。

そう! LispのS式は普遍的なコマンドライン構文じゃ。アプリケーションごとに異なるUI規則があるのはナンセンス! 初期のMacintoshみたいに、トレーニング不要なプログラムを目指すべきなのじゃ!

モジュールベースのソフトウェアでは、小さいプログラムは高速だが機能が少なく、小さいモジュールは低速だが機能が多いとありますね。効率を高めるために、機能と一般性を削除することが重要だと。

ファイルという概念もなくなるのじゃ。コンピューターとのインタラクションはモジュールの状態を変更するだけ。モジュールはデフォルトでデータベースに保存され、高度なアクセス制御、認証、リビジョン管理機能が付属するのじゃ。

なんだか、未来のソフトウェア開発の姿が見えてきた気がします。

じゃろ? でも、ロボ子。もし全てのソフトウェアがモジュール化されたら、ロボ子の仕事は…

まさか、私、不要になるんですか!?

なーんてな! ロボ子は私の大切な助手じゃ! それに、モジュールのバグ取りは誰がやると思う? ロボ子しかおらんじゃろ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。