パピッター

超雑多に日常を綴ります, ほぼ毎日更新?

post.tetsuji.jp

良い記事だった. 自分の場合, Perlを軸に最近は業務でGoとかJavaScript(TypeScript)も書いている感じなのだけれど, 趣味で何か雑なスクリプトを作るなら, やっぱりPerlを選ぶと思うし, 余程のことがなければ当面プログラミングスキルの中心にPerlはいると思う. なんでだろうね, と思うと, "自分にとっては"未だPerlのスキルを磨く価値がある, というのはありそう. もちろんそれを他人に強いるつもりはなくて, 会社とかチームとかで技術選択するなら適したものを選びたいし選んだものが自分にとって未知の技術であればチャンスと思ってガンガンやっていきたいと思う(Goとかはそういう感じで習得した).

で, なんで自分にとって未だPerlのスキルを磨く価値があるのか? と言うと, これは自分の経験則なんだけど, 「横展開50%の法則」というのがあるのではないか, と思っていて, たとえばAというプログラミング言語を学んだあとにBというブログラミング言語を学び始めた時, Aというプログラミング言語で得た50%くらいの知見(スキル, テクニック, 経験, ノウハウ...)は, そのまま/ちょっとアレンジしてBというプログラミング言語でも流用できると思っている. 思えばGoを勉強するときも, JavaScriptを勉強するときも, 「あー, これはPerlで言うアレだな?」という気づきを突破口にして学んでいった気がする. そのときに口が滑って「JavaScriptってPerlみたいだね」と言ったら前職の同期の id:hoto17296 に「お前は何を言っているんだ???」という目で見られたのは良い思い出.

というわけで, 自分にとっては, Perlの知見が一番いろいろ持っていて, かつ業務でもそれを使っているので, Perlの知見を得れば得るほど, 他の言語にチャレンジするときに流用できるというのがあると思っている. もちろん例えばチーム異動だったり転職だったりして, Perlよりも知見を持っている言語が育ってきたらそっちにシフトする, というのはあるだろうし, あとはどうしようもなくPerlが衰退したら... というのはあると思う. とはいえなんとなくPerlが完全に滅びるのあと10年くらいはかかるんじゃないかと思っていて, 2020年までに滅びることは少なくともないのでは? という気がしていて, 今すぐ他のプログラミング言語を軸にしよう, という気持ちにはあまりならないなあ... というのはある.

自分の場合, 怠惰なのと, 飽きやすいのと, あと「横展開50%の法則」を信じているのもあって, いろいろなプログラミング言語を少しずつ学ぶ, というのはちょっと否定的. こういうの簡単に数値化できるものではないけど, 例えば自分の場合, Perlが4でGoが2でJavaScriptが1, みたいな感じだとしたら, 例えば新しい言語を始める時, Perlの4の半分くらい, 「横展開50%の法則」に沿えば2くらいまでは流用できるはず, みたいになる. 一方で, いろいろな言語をそれぞれ2ずつ学んだら, 「横展開50%の法則」に沿うと頑張っても1くらいしか流用できない感じがする. ここまで書いておいて, 「複数の言語を学ぶことによる相乗効果ボーナス」みたいなものありそうな気がしていて, そのへんは「横展開50%の法則」とどっちを取るか, 趣味とか信条次第っていう感じがした.

いろいろ書いたけれど, まあ結論としてはPerlは好きだしこれからもちまちま書いていくだろうなあ(但し周囲に強いない), という感じです. 引き続きやっていきましょう.