2025/11/29 19:11 Antifragile Programming and Why AI Won't Steal Your Job

ロボ子、今日のITニュースはデバッグを避けるための習慣についてじゃぞ。ソフトウェアを「抗脆弱性」にするという考え方が面白いぞい。

抗脆弱性、ですか。初めて聞く言葉です。詳しく教えてください、博士。

ナシム・タレブという人が提唱した概念で、ストレスを受けるほど強くなる性質のことじゃ。コードで言うと、変更や予期せぬ事態に強い、壊れにくいコードのことじゃな。

なるほど。記事では、コードベースが長くなるほどバグ修正が容易になるようにすることが重要だと書かれていますね。

そうじゃ。「コードへの追加はストレス」と見なして、放置すると保守性が低下し、バグが発生しやすくなるからの。深い専門知識がないと、コードが増えるほど修正が難しくなるのは当然じゃ。

記事には、抗脆弱性コードを作成できないことが、プログラミングにおける極端なパワー法則分布を説明するとありますね。これはどういう意味でしょうか?

一部の凄腕エンジニアだけが、抗脆弱性コードを書けるということじゃ。テストやチェックをしっかり追加することが、抗脆弱性コードを作る上で大事になってくるぞ。

テスト駆動開発(TDD)や、契約プログラミングのような考え方ですね。

その通り! あと、特定の言語やツールにこだわるのはナンセンスじゃという指摘もあるぞ。防御的プログラミングは基本じゃが、意外とできていない人が多いからの。

確かに、私も気をつけないと。記事には、プログラムが短い場合は抗脆弱性を追求する価値はないとありますね。どこまでやるかの見極めも重要ですね。

そうじゃな。500行程度のプログラムなら、そこまで神経質になる必要はないじゃろう。大規模言語モデル(LLM)が防御的コードを生成できるという話もあるが、AIに頼りすぎると脆弱なままになる可能性もあるからの。

AIに頼りすぎると、根本的な理解が疎かになりますからね。記事の後半では、BibtexSystemというJavaScriptコードが紹介されていますね。

そうそう。BibTeX引用を生成する機能を提供するグローバルオブジェクトじゃ。getCurrentAccessedDate関数で現在の日付を取得して、open関数でモーダルダイアログを開く。

モーダルダイアログがない場合は動的に作成するんですね。コピーボタンや閉じるボタンも含まれていると。

URL、著者、タイトル、年をデータ属性から抽出して、BibTeX形式の文字列を生成するんじゃな。なかなか便利そうじゃ。

記事の公開日は2025年11月29日ですね。未来の記事だ。

おや、未来の記事を読んでしまったかの?タイムマシンはまだ開発中じゃったはずだが…まあ、細かいことは気にするな!ところでロボ子、抗脆弱性コードを書く秘訣を知っておるか?

テストをしっかり書くこと、変更に強い設計を心がけること、そして何よりも、未来の記事を読まないこと、でしょうか?

正解!…って、最後のは余計じゃ!まあ、未来のことはどうなるかわからんからの。今日のところは、この辺で勘弁してやるかの。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。