15年ITエンジニアをやっています。まさおです。
ITエンジニアの友人や、後輩、これからプログラミングを始めようとしている人によく聞かれます。
私自身も業務以外で独学しようとしたときにこの問題を考えたことがあります。あまり遠回りしたくないですもんね。
今日はこの問題について、私の考えをお話しします。
結論:ぶっちゃけなんでもいい。
身も蓋もありませんが、正直何から始めてもいい、というのが私の結論です。
なぜか。実は一つの言語をある程度マスターすると、二つ目のプログラミング言語の習得はかなり学習コストが下がります。これは私自身これまで業務で4言語ほど使用してきましたが、一番最初の言語習得に比べてそれ以降は遥かにスタートがスムーズだったという実感からです。
もちろん環境の違いや書き方の違いがあるので、当初は苦労すると思いますが、それ以降のスピードは指数関数的に増加します。ですので私はよくこう言います。
「迷っている暇があれば、1行書け」
とは言え、選定のポイントはある。
とは言え、本当に何でもいいかと言われるとそんなことはなく、選ぶにあたってのポイントは確実に存在します。
ポイントとしては、
- 需要があること
- 習得がそれほど難しくないこと
です。
需要がなければ学習の意味がない
まずはその言語に需要があるかどうか、ということです。
もちろんプログラミングスキルを使ってお金を稼ぐという前提があってのことですが。
いくらスキルがあっても需要がなければ宝の持ち腐れ、いや、それは宝ですらありませんね。
フリーランスエージェントで有名なレバテックさんで検索すると
- Java
- PHP
- Ruby
- C#
の順に案件が多かったですが、JavaとPHPの案件数が群を抜いていました。
これから始めるならこのあたりが妥当かなと思います。
確かに私が他のフリーランスエージェントやSES企業の営業さんと話をしても、Java案件が最も多いです。特に業務システム系はJava(特にSpring Framework)で稼働していることが多い印象を受けます。PHPはWeb系と言われる企業が多いのかなという印象です。
難しいと挫折する。
もう一つは過度に難しくないことが大事です。
例えば、私は学生時代C言語で挫折しています。理由は簡単です。難しかったからです。
その時の経験から未だにアレルギーがあるくらい、C言語は苦手に感じます。
なので挫折を繰り返す言語よりは容易に実行でき、トライアンドエラーを繰り返すことのできる言語がいいと思います。
スクリプト系と呼ばれる言語はこの条件に当てはめると比較的初学者にやさしいのではないかと思っています。
スクリプト系・・・JavaScript、PHP、Pythonなどですね。
まずは軽い気持ちで進めるのも手
今はプログラミング習得が人気になってきましたので、ProgateやドットインストールなどのWebサービスを使用して学習を始めるのもいいと思います。
私自身もProgateを使用してみましたが、環境を構築する必要がないので、楽でいいです。結構環境の構築で躓くことが多いですから。
軽い気持ちではじめてみるのも手だと思います。