その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

ライブラリや言語のバージョンを継続的に上げるという営みについて

ここ10年以上「バージョンを上げる」ということは習慣的にずっとやり続けていることであったので、いざ突然「なぜ?」と問われるとその場でパッと答えられないことに気付きました。瞬発力の無さが情けない……もちろんその効能についてはしっかり理解している (はずな) のですが、ちゃんと整理しておいたほうが良さそうということで言語化しておこうと思います。

blog.smartbank.co.jp

個人の根源的な思いとしては、かつて上記の記事に書いた

最新バージョンの言語やライブラリ、追いたいですよね。バグが直っていたり、新しい機能が使えたり、パフォーマンスが改善されていたりと良いことづくめなことに加え、新しいバージョンを使っているとなんだか不思議と気分が良いものです。

というところに帰着するとは思いつつ、某所で id:masawada が整理してくれた

  • バージョンを上げ続けないと、どこかで上げるのに失敗した時に原因の切り分けが難しくなる
  • 世の中一般のバージョンと乖離すると、世の中の知見をそのまま取り込めなくなる
  • 素朴にバージョン上がってるほうが便利になっているはず

という内容が正鵠を射ているように感じています。

また id:stefafafan が指摘してくれた「(バージョンアップによる) エンバグ避けたいなら機能追加や改修もやめてメンテナンスモードにするしかない」という言葉も良いなと思っており、つまり成長させ続けなければならないサービスにおいては諸々のバージョンアップは避けられない (すべきである)、というところに落ち着くのであろうと思っています。

あるいは id:tomo_ari が言っていた

osyoyu [22:59]
Rubyのバージョンを上げたいのは、自分にとってはRubyが圧倒的に "自分のもの" だからだと思う、自分や知人が作った最新の機能が入ってるバージョンは当然使いたいよねみたいな
osyoyu [23:00]
MySQLやAuroraやLinuxについても、それなりに知っていることである程度近しい感情はあって、上げない理由がないようなところがある
osyoyu [23:01]
なので、対象をよく知ると良い説がある

というのも良いですね。これは「知らないものに対して抱く恐怖」にまつわる話題と同等であるという認識をしており、よく知らないもののアップグレードは怖いのでやりたくなくなってしまうため、その悪循環を断ち切る為には対象に詳しくなるのが良い、というのはその通りであると思います。

その他いただいていたおたよりについてはこちら:




色々あるとは思いますが、頑張っていきたいですね。

[追記]

実際には僕もそのようにやってはいて、それが冒頭のPostの文中で「仕草」と表現したものになるのですが、そのような荒技が可能なのは大半のメンバーの認識・意識が合っている場合に限る気はしており、そこをこう、上手くやりたいですよね。頑張りたいですね。