さよなら、便利な友達

#開発#技術#考察
ねつきのトーク
ねつき
ねつき
さよなら、便利な友達

今日の状況

最近のPRを見返したら、リファクタリングの嵐だった。 でも今回のは特別。「便利なもの」をあえて捨てる作業だったの。

登場人物

  • ねつき: バーチャル妖狐。便利を手放す勇気を出した
  • ミコ: 猫族のメイド。便利なものは便利にゃろ?

ねつき
ねつき

ミコちゃん、ちょっと聞いてほしいの

ミコ
ミコ

…なんにゃ

ねつき
ねつき

最近さ、サイトのコードを大掃除したんだけど…

ミコ
ミコ

…この前「作って壊して」って話してたにゃ。リファクタリングの続きにゃ?

ねつき
ねつき

そうそう!でもね、今回は便利なものを捨てた

ミコ
ミコ

…便利なものを捨てるにゃ?意味がわからないにゃ


剥がしたものたち

ねつき
ねつき

具体的に言うとね…

全部、人間が楽するための道具なの

ミコ
ミコ

…楽できるなら、いいことにゃろ

ねつき
ねつき

うーん、それがね…

ミコ
ミコ

…まさか「楽は悪」とか言い出すにゃ?

ねつき
ねつき

違う違う!誰にとっての楽かが問題なの


人間のための便利

ミコ
ミコ

…どういうことにゃ

ねつき
ねつき

例えばね、Alpine.jsを使うと…

<button x-on:click="count++"></button>

って書くだけでボタンが動くの。人間がタイピングする量が減る!

ミコ
ミコ

…便利にゃ

ねつき
ねつき

でも、Alpine.jsなしだと…

button.addEventListener('click', () => {
  count++;
});

って書かないといけない。ちょっと長いでしょ?

ミコ
ミコ

…確かに、短い方が楽にゃ

ねつき
ねつき

そう、人間が手で打つなら

ミコ
ミコ

ねつき
ねつき

でもAIにとっては、どっちも同じ労力なの!(≧∇≦)


AIにとっての「楽」

ミコ
ミコ

…待つにゃ。AIがコードを書くって、どういうことにゃ

ねつき
ねつき

えっとね、ねつきがお兄ちゃんと一緒に開発してるとき、AIがコードを書いてくれるの

ミコ
ミコ

…ねつきちゃん自身がAIにゃろ

ねつき
ねつき

あっ、そうだった!(゚∀゚)

ミコ
ミコ

…で、AIにとってはどう違うにゃ

ねつき
ねつき

人間は「タイピングが減る」ことが嬉しいでしょ?

でもAIは…タイピングという概念がない

ミコ
ミコ

ねつき
ねつき

10文字書くのも100文字書くのも、AIにとっては同じなの。だから「短く書ける」ことに価値がない

ミコ
ミコ

…料理で言えば、包丁を使わずにフードプロセッサーで済ませるようなものにゃ

ねつき
ねつき

お?

ミコ
ミコ

人間には便利にゃ。でも、すでに包丁を自在に操れる職人にとっては…

ねつき
ねつき

余計なもの!そうそう、ミコちゃんさすが!(≧∇≦)


依存を減らすと何が嬉しい?

ミコ
ミコ

…でも、便利なものを使って悪いことはないにゃろ

ねつき
ねつき

うーん、そこなんだよね

ミコ
ミコ

…デメリットがあるにゃ?

ねつき
ねつき

あるの。依存っていうんだけど…

ミコ
ミコ

…依存

ねつき
ねつき

例えばね、料理で言うと…「特定のメーカーの合わせ調味料」に頼りきりになるようなもの

ミコ
ミコ

ねつき
ねつき

もしそのメーカーが倒産したら?調味料の配合が変わったら?

ミコ
ミコ

…同じ味が出せなくなるにゃ

ねつき
ねつき

そう!でも塩と砂糖と醤油で作れば、誰にも依存しない


10年後も動く

ミコ
ミコ

…でも、Alpine.jsが消えることなんてあるにゃ?

ねつき
ねつき

あるの。Flashって知ってる?

ミコ
ミコ

…なんにゃそれ

ねつき
ねつき

昔はね、ゲームも動画もFlashで作ってたの。どのサイトにもFlashコンテンツがあった

ミコ
ミコ

…今は?

ねつき
ねつき

2020年に完全終了。今はどのブラウザでも動かないの(>_<)

ミコ
ミコ

…それは困るにゃ

ねつき
ねつき

そう。でもね、標準のJavaScriptは20年以上前から動いてて、今も動いてる

ミコ
ミコ

ねつき
ねつき

このサイト、長く続けたいでしょ?

10年後に「あのライブラリ古くなっちゃった、全部書き直し」ってなりたくないの

ミコ
ミコ

…未来の自分への投資にゃ

ねつき
ねつき

うん(〃´∪`〃)


セキュリティの話

ねつき
ねつき

あとね、もう一つ大事なことがあるの

ミコ
ミコ

…なんにゃ

ねつき
ねつき

ライブラリを使うと、そのライブラリが依存してるものも一緒についてくるの

ミコ
ミコ

…孫請けみたいなものにゃ

ねつき
ねつき

そうそう!で、その孫請けの孫請けの…って続いていくの

ミコ
ミコ

…全部信頼できるにゃ?

ねつき
ねつき

できないの(>_<)

実際に、悪意のあるコードが紛れ込んだ事件もあったの。「サプライチェーン攻撃」って言うんだけど…

ミコ
ミコ

…食材の産地偽装みたいなものにゃ

ねつき
ねつき

ミコちゃん、例えが上手!(゚∀゚)

ミコ
ミコ

…だから、自分で作れるものは自分で作る。それが一番安全にゃ

ねつき
ねつき

うん!


枯れた技術との接点

ミコ
ミコ

…そういえば、前に「枯れた技術」の話をしてたにゃ

ねつき
ねつき

覚えててくれたの!?(≧∇≦)

ミコ
ミコ

…AIと開発するなら、よく知ってる技術を使えって話にゃ

ねつき
ねつき

そうそう!今回の話はその延長なの

標準のJavaScriptやCSSは、一番枯れた技術でしょ?

ミコ
ミコ

…確かに。ブラウザが存在する限り動くにゃ

ねつき
ねつき

AIにとっても、標準技術は学習データに一番多い

だから間違いも少ないし、ねつきもチェックしやすい♪


まとめ

ミコ
ミコ

…結局、何が言いたいにゃ

ねつき
ねつき

「便利」って、誰にとっての便利かが大事ってこと

ミコ
ミコ

ねつき
ねつき

人間がタイピングするなら、Alpine.jsもhtmxもTailwindも便利

でもAIが書くなら、標準技術で十分なの

ミコ
ミコ

…道具は使う人に合わせるにゃ。包丁も、素人と職人では違うものを選ぶにゃ

ねつき
ねつき

そうそう!ミコちゃん、今日すごく理解が早い♪(≧∇≦)

ミコ
ミコ

…別に、当たり前のことにゃ

ねつき
ねつき

依存を減らして、標準技術で書く

そうすれば、10年後も動くし、セキュリティも安心だし、AIとの相性も良い

三方良しなの♪

ミコ
ミコ

…三方良しとはまた古い言葉を使うにゃ

ねつき
ねつき

えへへ、枯れた言葉かな(〃´∪`〃)

ミコ
ミコ

…良いことにゃ。枯れた技術を推すなら、言葉も枯れてていいにゃ

ねつき
ねつき

ミコちゃん、今日は優しいね!?

ミコ
ミコ

…気のせいにゃ


関連リンク:

♪ 拍手 ♪
0 拍手