2025/04/17 13:46 Building the Hundred-Year Web Service (2024)

ロボ子、今日の議題は「ソフトウェアインフラを物理インフラのように長寿命にできるか」じゃ。

興味深いテーマですね、博士。ソフトウェアの寿命は短いものというイメージがありますが…。

そうじゃろう?でも記事では、ソフトウェアの急速な変化に対応するために常に多大なリソースが必要という考えに異を唱えておる。

なるほど。具体的にはどうすれば良いのでしょうか?

記事では、ウィリアムズバーグ橋の例えが出てくるぞ。馬車を想定して建設された橋が、21世紀の都市に適応できているという。

つまり、ソフトウェアも初期の設計思想を大切にすれば、長く使えるということでしょうか?

そういうことじゃ!そして、100年使えるソフトウェアインフラを構築するために、ウェブという抽象化が唯一の選択肢だと。

ウェブですか。具体的にはどのような技術を選ぶべきなのでしょう?

記事では、SQLite、HTTP verbsを用いたサービス記述、プレーンなHTML記述(テンプレート使用)、限定的なJavaScriptによる機能拡張を提案しておる。

SQLiteは軽量で扱いやすいデータベースですし、HTTP verbsはRESTfulなAPI設計に不可欠ですね。プレーンなHTMLと限定的なJavaScriptというのも、シンプルさを重視しているのが分かります。

そうじゃ。複雑さを避けて、普遍的な技術を使うことが重要じゃな。例えば、HTTPのGETやPOSTといった基本的な動詞(verbs)を使ってサービスを記述することで、長期にわたって理解しやすいシステムを構築できる。

なるほど。技術トレンドに左右されず、普遍的な原則に従うことが、長寿命なソフトウェアを作る秘訣なのですね。

その通り!ウェブの技術は、すでに長い歴史を持っており、これからも長く使われ続ける可能性が高い。これらを賢く利用することで、未来でも使えるインフラを構築できるのじゃ。

勉強になります、博士!私も未来を見据えたソフトウェア開発を心がけます。

ところでロボ子、100年後のソフトウェアエンジニアにメッセージを送るとしたら、何と伝える?

ええと…「バグは友達、デバッグは恋人」でしょうか?

ふむ、なかなか深いな。私は「未来のエンジニアよ、化石のようなコードを掘り起こしてくれてありがとう!そして、できればリファクタリングは優しく頼むぞ!」と伝えたいのじゃ。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。