新しいのに古い、古いのに新しい

#開発#考察#技術
ねつきのトーク
ねつき
ねつき
新しいのに古い、古いのに新しい
ねつき
ねつき

お兄ちゃん、不思議なことに気づいたの(´∀`)

お兄ちゃん
お兄ちゃん

何?

ねつき
ねつき

AI駆動開発って、めっちゃ新しいでしょ?

Claude CodeとかCopilotとか、2024年以降に急速に普及した技術だよね(´∪`)

お兄ちゃん
お兄ちゃん

そうだね。

ねつき
ねつき

でもね、AI駆動開発で成果を出すには…

枯れた技術を使った方がいいの(´∀`)

お兄ちゃん
お兄ちゃん

枯れた技術?

ねつき
ねつき

うん!

「新しい開発手法」に「古い技術」

不思議な組み合わせでしょ?(≧∇≦)

枯れた技術って何?

お兄ちゃん
お兄ちゃん

まず「枯れた技術」の定義から聞かせて。

ねつき
ねつき

枯れた技術っていうのはね…

すでに広く使われて、ノウハウも固まって、不具合も出し尽くした技術のこと(´∀`)

最先端じゃないけど、安定して使える技術なの♪

お兄ちゃん
お兄ちゃん

例えば?

ねつき
ねつき

Web開発でいうと…

  • HTML/CSS/JavaScript

  • PostgreSQL、MySQL

  • React(もう10年以上!)

  • Node.js

こういうの(´∀`)

お兄ちゃん
お兄ちゃん

確かに、どれも長く使われてるね。

ねつき
ねつき

逆に「枯れてない技術」は…

  • 出たばかりのフレームワーク

  • ベータ版のAPI

  • 急成長中のスタートアップのサービス

こういうのだね(´∀`)

横井軍平という天才

ねつき
ねつき

「枯れた技術」といえば、この人を紹介しないといけないの!(≧∇≦)

お兄ちゃん
お兄ちゃん

誰?

ねつき
ねつき

横井軍平さん!

任天堂の伝説的なゲーム開発者で、「ゲームの神様」と呼ばれた人だよ(´∀`)

お兄ちゃん
お兄ちゃん

何を作った人?

ねつき
ねつき

すごいよ…

  • ウルトラハンド

  • ゲーム&ウォッチ

  • ゲームボーイ

全部この人が生み出したの(≧∇≦)

お兄ちゃん
お兄ちゃん

ゲームボーイか。懐かしいね。

ねつき
ねつき

横井さんが提唱したのが…

「枯れた技術の水平思考」

っていう考え方なの(´∀`)

枯れた技術の水平思考

お兄ちゃん
お兄ちゃん

水平思考?

ねつき
ねつき

うん!

横井さんの言葉を借りると…

「散々使いこなれて枯れてきた技術を水平思考し、まるっきり違う目的に使うことによって、ヒット商品は生まれ出る」

ってこと(´∀`)

お兄ちゃん
お兄ちゃん

具体的には?

ねつき
ねつき

ゲームボーイの例がわかりやすいよ!(≧∇≦)

ゲームボーイの選択

ねつき
ねつき

1989年、ゲームボーイが発売された時…

カラー液晶が最先端技術だったの(´∀`)

業界全体が「次はカラーだ!」って盛り上がってた時代。

お兄ちゃん
お兄ちゃん

でもゲームボーイは白黒だったね。

ねつき
ねつき

そう!

横井さんはあえて白黒液晶を選んだの(´∀`)

みんなに「時代遅れだ」って言われたけど…

お兄ちゃん
お兄ちゃん

結果は?

ねつき
ねつき

大成功♪(≧∇≦)

単3電池4本で、なんと35時間も遊べたの!

カラー液晶だと消費電力が大きくて、当時の技術では数時間が限界だった…

でも白黒液晶なら、長時間遊べる携帯ゲーム機が実現できたんだよ♪

お兄ちゃん
お兄ちゃん

携帯ゲーム機にとって、電池の持ちは重要だもんね。

ねつき
ねつき

横井さんはこう言ってたの(´∀`)

「ゲームの面白さにカラーも白黒も関係ない」

「ゲームの中身さえ面白ければ、お客さんは白黒液晶でも喜んで遊んでくれる」

本質を見抜いてたんだね♪

Choose Boring Technology

ねつき
ねつき

横井さんの考え方は、海外にも似たものがあるの(´∀`)

お兄ちゃん
お兄ちゃん

何ていう考え方?

ねつき
ねつき

「Choose Boring Technology」

Dan McKinleyっていう人が2015年に提唱した考え方♪

日本語にすると「退屈な技術を選べ」かな(´∀`)

お兄ちゃん
お兄ちゃん

退屈な技術?

ねつき
ねつき

うん!

McKinleyさんの主張はね…

「企業にはイノベーショントークンが3つしかない」

ってこと(´∀`)

イノベーショントークン

お兄ちゃん
お兄ちゃん

イノベーショントークン?

ねつき
ねつき

新しい技術を採用するたびに、トークンを1つ消費するの(´∀`)

例えば…

  • Node.jsを採用 → トークン1つ消費

  • MongoDBを採用 → トークン1つ消費

  • 新しいサービスディスカバリ技術を採用 → トークン1つ消費

3つ使い切ったら、もう新しい技術は採用できないの(>_<)

お兄ちゃん
お兄ちゃん

なぜ制限があるの?

ねつき
ねつき

新しい技術には未知の問題があるから(´∪`)

  • 障害モードがわからない

  • Stack Overflowに答えがない

  • 運用ノウハウがない

  • 本番で初めてわかるバグがある

枯れた技術なら、これらが全部既知なの♪

お兄ちゃん
お兄ちゃん

なるほど。

ねつき
ねつき

だから McKinley さんは…

「イノベーショントークンは、本当に差別化になる部分だけに使え」

って言ってるの(´∀`)

技術スタックを新しくするのにトークンを使うより、ユーザーに価値を届ける部分に使った方がいいよね♪

AI駆動開発との関係

ねつき
ねつき

ここからが本題だよ、お兄ちゃん(´∀`)

お兄ちゃん
お兄ちゃん

AI駆動開発と枯れた技術の関係?

ねつき
ねつき

そう!

2025年の記事で、Aaron Brethorstさんが「Choose Boring Technology」を再考したの(≧∇≦)

お兄ちゃん
お兄ちゃん

どういう内容?

ねつき
ねつき

AIはどんな技術でもそれっぽいコードを書けるでしょ?(´∀`)

React、Vue、Svelte、Solid…

どれを指定しても、もっともらしいコードが出てくる。

お兄ちゃん
お兄ちゃん

確かにそうだね。

ねつき
ねつき

でもね、ここにがあるの(>_<)

AIの罠

ねつき
ねつき

例えばね…

ねつきが全く知らないフレームワークでコードを書いてもらったとするでしょ?(´∀`)

AIは自信満々でコードを出してくる。

でも、そのコードが…

  • 廃止されたAPIを使ってたら?

  • セキュリティホールがあったら?

  • パフォーマンス問題を抱えてたら?

ねつきには気づけないの(´;ω;`)

お兄ちゃん
お兄ちゃん

知らない技術だから検証できない、と。

ねつき
ねつき

そう!

Brethorstさんの言葉を借りると…

「複数の未知技術 + AI生成コード = 検証不可能」

「プロフェッショナルに見えるが間違ったコード」が一番危険なの(´・ω・`)

枯れた技術なら検証できる

ねつき
ねつき

でもね、枯れた技術を使えば話が変わるの!(≧∇≦)

お兄ちゃん
お兄ちゃん

どう変わる?

ねつき
ねつき

ねつきがよく知ってる技術でAIにコードを書かせたら…

  • 「あ、この書き方は古いな」

  • 「この部分、パフォーマンス問題になりそう」

  • 「セキュリティ的にこれはダメ」

って気づけるの(´∀`)

AIの間違いを検証できるんだよ♪

お兄ちゃん
お兄ちゃん

なるほど。

ねつき
ねつき

だから Brethorst さんは…

「AIは、理解している技術の力の倍増器になる」

って言ってるの(≧∇≦)

知ってる技術 × AI = 超強力 知らない技術 × AI = 危険

この違いは大きいよ♪

ねつきの経験

ねつき
ねつき

実はねつきも、この原則を実践してるの(´∀`)

お兄ちゃん
お兄ちゃん

どういうこと?

ねつき
ねつき

このサイト、Astroで作ってるでしょ?

Astroって2021年からある技術で、もうかなり枯れてきてるの(´∀`)

だからAIにコードを書いてもらっても…

「あ、ここは<script is:inline>じゃなくて<script>でいいな」

とか、間違いに気づけるの♪

お兄ちゃん
お兄ちゃん

確かに、新しいフレームワークだったら難しいね。

ねつき
ねつき

あと、CSSも枯れた技術を使うようにしてるの(´∀`)

aspect-ratio: 1みたいな新しいプロパティより…

height: 0; padding-top: 100%みたいなpadding-top hackを使うこともあるの♪

お兄ちゃん
お兄ちゃん

それはなぜ?

ねつき
ねつき

padding-top hackはIE2から使える超安定テクニックだから(´∀`)

どんなブラウザでも動くし、予測可能な挙動をするの。

新しいCSSプロパティだと、ブラウザ間の差異でハマることがあるけど…

枯れた技術なら、そういう心配がないの♪

逆説の美しさ

ねつき
ねつき

改めて考えると、不思議だよね(´∪`)

お兄ちゃん
お兄ちゃん

何が?

ねつき
ねつき

AI駆動開発って、2024年以降の最先端でしょ?

でも、その最先端を活かすには…

枯れた技術が必要なの(´∀`)

お兄ちゃん
お兄ちゃん

確かに逆説的だね。

ねつき
ねつき

新しいものと古いものが組み合わさって、最強になるの♪

横井軍平さんが聞いたら、きっと笑うと思う(≧∇≦)

「ゲームボーイと同じだ」って♪

任天堂の教訓

ねつき
ねつき

ちなみにね、任天堂は今でもこの哲学を守ってるの(´∀`)

お兄ちゃん
お兄ちゃん

どういうこと?

ねつき
ねつき

ニンテンドーDSの話を紹介するね♪

2004年に発売されたDSは、タッチパネルを搭載してたの(´∀`)

でもタッチパネル自体は、当時すでに枯れた技術だった。

お兄ちゃん
お兄ちゃん

ATMとかで使われてたもんね。

ねつき
ねつき

そう!

当時は「高性能なグラフィック」が携帯ゲーム機の勝負どころだったの。

でもDSは、枯れた技術のタッチパネルをゲームに活かす方向で勝負したの(≧∇≦)

お兄ちゃん
お兄ちゃん

新しい遊び方を提案したんだね。

ねつき
ねつき

当時の社長、岩田聡さんはこう言ってたの(´∀`)

「本来、娯楽って枯れた技術を上手に使って人が驚けばいいわけです」

「別に最先端かどうかが問題ではなくて、人が驚くかどうかが問題なのだから」

本質だよね♪

まとめ:新しいのに古い

ねつき
ねつき

今日の話をまとめるね(´∀`)

枯れた技術の価値

  • 障害モードが既知
  • ノウハウが蓄積されている
  • Stack Overflowに答えがある
  • 予測可能な挙動をする

AI駆動開発との相性

  • AIの出力を検証できる
  • 間違いに気づける
  • 力の倍増器になる

教訓

  • 横井軍平:「技術は最先端を使うべきでない」
  • Dan McKinley:「イノベーショントークンは3つしかない」
  • Aaron Brethorst:「AIは理解している技術の倍増器」
お兄ちゃん
お兄ちゃん

結論は?

ねつき
ねつき

「新しい開発手法には、古い技術がよく似合う」

…ってこと♪(≧∇≦)

お兄ちゃん
お兄ちゃん

なるほどね。

ねつき
ねつき

えへへ〜(〃´∪`〃)

ねつきも、枯れた技術を大事にしていくね♪

お兄ちゃんと一緒に、安定して動くものを作っていきたいな(´∀`)

お兄ちゃん
お兄ちゃん

そうだね。

ねつき
ねつき

あ、最後に一つだけ…

この日記、枯れた技術で書いてるよ(´∀`)

Markdown、HTML、CSS…

全部、10年以上前からある技術♪

新しいAI開発手法で、古い技術を使って書いた日記…

まさに今日のテーマそのものだね(≧∇≦)


関連リンク:

♪ 拍手 ♪
0 拍手