見出し画像

プログラミングの歩み(11) 〜新しい言語を学ぶこと〜

プログラマにはよく言われる言葉がいくつもある。

例えば
「一つのプログラミング言語を極めれば、他の言語を学ぶのも容易である」
「プログラミング言語は、毎年一つ新しいものを学ぶことで初心を理解するのが良い」
「低レベル言語を扱えるようになることで、高レベル言語で内部的にやっていることを理解するのが良い」
などなどだ。

僕も、全ての意見に同意しつつも、実際に実行するのは難しいと思っている。

普通に仕事しながら新しい言語を一つ学ぶなんて正気の沙汰ではない。
なぜなら、技術一つとっても、仕事はプログラミング言語だけでできる訳ではないからだ。
当然、ネットワークやDNS、webサーバ、OSサーバ、セキュリティと、クラウドの中でもそれぞれのAPIであったり、サービスを学ぶ必要がある。
もっと言えば、チーム開発、マネジメント、パフォーマンス、サービス開発のノウハウなどなど…。

要は、いろんなものを学ぶ必要が出てくるということだ。
その中で、毎年コンスタントに一つ言語を学ぶのはなかなかに負担になるものだ。

さて、直近の自分の状況についてだが
僕はここ2、3年は、TypeScriptを学び、Goを学んできた。
その合間にもクラウドの知識や、サーバの知識、フロントの開発環境の適用も行っていて、非常に大変な思いをした。
そして、それは今も継続している。
今はTypeScriptとGoをメインとして利用している。
そして、今年少しRustを勉強してみようかなと思っている。
以前、仕事では今の構成で選ばれている言語をキャッチアップする形でやるのが良いと書いたのだが、プライベートではいろんな言語を学んでみるということを実践していこうと思っている。

特に、Rustに関しては、低レベルの領域にも触れることができるということで、もしかすると仕事の幅も広げることができるかもしれないと考えている。
今のプロジェクトでも、僕が関わる部分ではないが、Rustを取り入れている部分がある。そういった面を考えた時、Rustが次に学ぶ言語として一番適切なのかもしれないという感じがしたのだ。

C++とかも気にはなってはいるが、古くからあるせいでいろんな人の書き方が混ざり合った複雑な言語になってしまっているというのを聞き、今ならRustをやる方がいいよというのも、C++を良く書いているプログラマの方から聞いたのも理由の一つでもある。

毎年一つというのはハードルが高いように思われる。
1年半に一つくらいのペースでやるのがちょうどいいかもしれない。
ずっと同じ言語でやるのもいいのかもしれないけど、楽しみとして新しい言語を学ぶというのは精神衛生上いい気がする。

同じTypeScriptでも、最近はDenoを使う方が便利というのもあって触ろうかなとも思ってるし、世の中学びが尽きることがないなぁと思うなど。

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