見出し画像

プログラミング言語なんて全部同じという恐ろしい呪縛

こんにちは。long(@kametaro)です。1週間で自分がつぶやいたことを1つピックアップして妄想を膨らませる試み。今週はこちら。

思いがけず自分の中では反響頂きまして、そういう道を辿った人はそういうふうに感じるんだなぁと、なんというかとても慰められた思いがしました。(共感というよりは提案という意味だったんだけど・・)

「プログラミング言語なんて全部同じでしょ?」っていう発言はこれまで幾度となく耳にしてきました。でも昔と今ではだいぶニュアンスが違ってて、昔はどちらかというと、いわゆる「プログラマ35歳定年説」ってやつがまことしやかに囁かれていたので、「もうおれは新しい技術を覚える気力もないし、リソース管理も上からうるさく言われてて忙しいからプログラミングは若いやつに任せて(押し付けて)、これまで培った技術と経験を活かして管理職を目指すわ」といった背景を持つ、過去の古びた技術にしがみつき、根拠なくいばり散らすおっさんの怠惰で空虚なセリフに過ぎませんでした。

ところが最近だと、同様の意味にも取れる発言として「プログラミングなんて簡単、だれでもすぐできるよ」とか「最短○○時間で即戦力レベルのスキルが身に付く」とかそういう売り文句に象徴されるように、ある意味パッケージ化されたスキルとしてプログラミングを認識する人が増えたように感じています。ぼくの提案はこういった人たちに対するものでした。

企業の募集要項には、Swift、kotlinとか、Python、TypeScriptとかいろんな言語が並んでいて、それを見て応募者は自分のスキルが活かせそうな企業を検討します。また、オンラインスクールのカリキュラムは、時間的な制約の中でゴールにコミットするために最適化したプログラムを提供しますよね。

企業が欲しいポジションに最適な人材を募集し、スクールがそこに最適な人材を供給する。

でも、そのコースで全部の技術が学び終えられるわけではないですし、その後のプログラミング人生では、新しい技術を常に追い掛け、目の前に立ちはだかる課題を解決すべく、難易度の高い技術をずっと学び続ける必要があります。それはクラウドネイティブだろうとNoCodeだろうと、メインとなる層が多少違えど学び続けるという点は同じことだと思います。

ぼくは、昔の怠惰なおっさんの仲間の一人として、若い人にはぜひこのパッケージの外の技術に触れる機会を持ってもらいたいと思います。つまり、LispやHaskellといった言語(Prologも!)を例示したのは、自分がそれを書けることを威張るためじゃなくて、手続き的に記述しづらい言語を経験することによって、そして克服して整然と組み上げられた世界を目の当たりにすることで、「あー、こういう世界があったのか・・」と、パッケージの外の風景に感動してもらえるんじゃないか?(自分もかつてそうだったから)と考えたんです。

真面目な人ほど「実務に関わらない」プログラム言語を学ぶ意味を考えてしまって、「実務に関わる」勉強ばかり頑張ってしまうと思うんです。(これじゃ、「プログラミング言語なんて全部同じでしょ?」の呪縛にはまっちゃう!)たとえば、Railsを学んだからにはサーバサイドの勉強しかしたらダメ、そんなのは馬鹿げてますよ。仮に会社の上司が「お前はフロントエンジニアなんだから、インフラの勉強なんかしなくていい、JQueryだけ勉強しろ」とかいうやつだったら、それは昔の「プログラミング言語なんて全部同じでしょ?」の呪縛に苛まれ、古びた技術にしがみつきいばり散らすおっさんの怠惰で空虚なセリフだと思って哀れんでやってください。

まとめ

今週もまた箸にも棒にかからなことをつらつらと書いてしまいました。「いいね」が300個近くついたの初めてだったんで嬉しかったですね。ぼくの場合は、幸運なことに好奇心だけがなぜか全然枯渇しない性格で、「プログラミング言語なんて全部同じでしょ?」という恐ろしい呪縛も「プログラマ35歳定年説」もとっくに覆しました。そんな1週間です。

来週もがんばろー

この記事が気に入ったらサポートをしてみませんか?