扱えるプログラミング言語は多くなくていい
- 「プログラミング言語ってたくさんあるから、どれを学べばいいのか迷ってしまう。出来るなら、無駄な学習時間は使いたくない。どうすればいいのだろうか?」
- 「これを覚えてしまえば、広く応用できる、というプログラミング言語があれば知りたい。」
どうも、ベタオシです。
ソフトウェア開発を仕事にしている人なら、一度くらいは「次に学ぶべきプログラミング言語は何か?」と考えたことありませんか?
僕はたまに考えています。新しく使えるようになると便利なプログラミング言語は何だろうか?と。
これからプログラミング言語を勉強していきたいと考えている人なら、なおさらどのプログラミング言語を学ぶべきか悩みますよね。
この問いについて、僕の考えを紹介したいと思います。10年ほど組み込みソフト開発をやってきた経験が基になっている意見です。
プログラミング言語はあくまで道具
ソフトウェア開発は基本的に分業なので、自分一人がアレコレと何でも出来る必要はありません。小規模な開発チームでも状況に大きな違いはないと思います。
自分が苦手な分野、あまり詳しくない分野はそれが得意な誰かに任せて、自分が得意な分野の仕事をする。
飲食店だと、店長は一通り何でも経験していて、勤続年数が長い人ほど経験が豊か、アルバイトの人は自分が普段やっていることぐらいしか分からない、このような状況ですよね。
飲食店とは違い、ソフトウェア開発では扱える道具はそれほど多くなくてもよいのです。もちろん、扱える道具が多いことで困るようなこともありません。
深い知識を持っている言語は一つか二つで十分
ソフトウェア開発では、扱えるプログラミング言語が少なくても問題ありませんが、具体的に何個で応えるとしたら、メインに扱うもの一つか二つ、サブで扱うもの一つか二つくらいで十分だと思っています。
例えば、C/C++、Java、C#、Javascript の中で、どれか一つでも扱えればよし、二つ扱えるならそれで充分です。
もう一言加えておくと、古い言語(枯れた言語)の方が応用が効くので、どの言語にも思い入れがなくて、何でもよいと思う方はC言語またはC++をおススメします。
この二つをおススメする理由は、様々なプログラミング言語の参考にされているためです。これらの言語が身についてしまえば、他の言語を新しく学習しても、飲み込みが速いでしょう。
サブで使える言語も一つか二つで十分
サブで使える言語とは、ソフトウェアのソースコードを書く時はあまり使わないが、データを収集したり、まとめたり、資料作成したりする作業時に使えると便利な言語をさしています。
例えば、python、Ruby、シェルスクリプト、powershellなどですね。
これらを上手に使って、資料作成を楽にすることが出来る人はそんなにいないので、扱えるようになっておくととても便利です。
まとめ
どのプログラミング言語を学ぶべきか、について僕の考えを紹介しました。所属している分野によって意見が大きく違うことはよくあると思うので、参考程度にどうぞ。
それではまた、ベタオシでした。

C/C++で組み込み系ソフトウェア開発の仕事を10年以上やっています。怪しげなデジタルガジェットが大好きです。