今あなたが学ぶべきプログラミング言語を見つける方法

2014年9月3日に投稿 → に更新

  • 「そろそろ新しいプログラミング言語を学ぼうかな!」
  • 「これから流行りそうな言語って何かな?」

などと考えてる方は多いかと思います。

今あなたが学ぶべきプログラミング言語を見つける方法、それは、

「目的を設定する」ことです!

目的が決まれば、学ぶべきプログラミング言語が決まります。

どういうことか詳しく紹介します。

目的によって、手段 = 言語が決まる

例えば、個人でちょっとしたWebサービスを作ってレンタルサーバ上に公開することが目的の場合、学ぶべき言語はPHPになります。こう言うと「PHP以外にもレンサバで動く言語あるぞ?」って思われたかもしれません。

確かに多くのレンタルサーバではPHPの他に、Perl, Python, Rubyが動きます。しかし、多くのレンタルサーバではPerl, Python, RubyはCGIモードでしか動かせないという制約を課している場合が多いため、フレームワークが使えません。

フレームワークはたくさんのモジュールで成り立っているため、CGIのように毎回プロセスが起動される仕組みだと動作が重くなってしまいます。

なので、フレームワークを使わないよほど小さなアプリでない限り、レンタルサーバで使う言語はPHP一択なんです。

「Perl、PHPはオワコン」とか言ってる人は目的の視点が抜けている

先程説明したとおり、目的が「ちょっとしたWebサービスを個人で作ってレンタルサーバ上に公開したい」という場合、PHPが最も有力な選択肢です。

あるいは目的が「はてなに入社してWebサービスを開発したい」という場合、Perlを学ぶことが最も有力な選択肢です。はてなのWebサービスの多くはPerlで作られているからです。

つまりは、絶対的にオワコンな言語などなく、目的によって、その言語の重要性は変わるのです。

これは何もプログラミング言語の選択に限った物ではありません。すべての物事は目的によって、重要性が変わります。絶対的にどんな場合にも重要なものなどありません。

例えば、一般的に男性の身長は高い方が良いとされていますが、その男性の目的が「競馬の騎手になること」である場合、身長が低い方が有利になります。ですから、絶対的に男性の身長は高い方が良いってことにはなりません。

なので、目的を言及せずに「Perl、PHPはオワコン」と言うのは無意味なんです。

目的別おすすめプログラミング言語

いくつかの典型的な目的について考えてみましょう。

まずは、会社に就職することが目的の場合を考えてみましょう。

  • 業務システム開発の会社ならJava、C#、VB.NET
  • Webサービス開発の会社ならJava、PHP、Perl、Ruby、Python、JavaScript
  • スマホアプリ開発の会社なら、Objective-C、Java、Swift。
  • ゲーム開発の会社なら、C#(Unity)、C++(Unreal Engine, Cocos2d-x)。

入りたい会社が採用している言語を学べばいいわけです。

就職が目的でなく、趣味の開発なら自分の好みで選べばいいでしょう。誰かがネット上で○○はオワコンとか言ってても全く気にすることはありません。

なので、学びたい言語が見つからない人は目的(作りたいものや入りたい企業)を設定すればいいんです。

勉強のための勉強だと学ぶのが難しい

就職だったり、作りたいものがある場合、目的がはっきりしているので学習も捗りますが、「勉強することが目的」になってしまうと、うまく学べない場合があります。

例えば、「プログラミングの考え方を広げるために関数型言語を学んでみよう!」という目的の場合、達成したいことがハッキリしないので、なかなかものにできなかったりします。私自身、何度もこの考えで関数型言語にチャレンジしているのですが、全く身についてません。

  • 「関数型言語でこれを作りたい!」
  • 「関数型言語を使ってるA社に入社してこういうシステムを開発したい!」

などの具体的な目標がないため、ただ単に本を読んだりしてるだけになってしまい身につかなかったんです。

学生時代の勉強が捗らなかったのも同じです。「B大学に入って○○について研究する!」等の目的があれば、もっと学校の勉強も捗ったはずです。これは今さらですけどね。

プログラミングを学んで目標を達成しよう!

プログラミングを学ぶことによって達成できる目標はたくさんあります。

プログラミングを学べば、就職することもできるし、趣味で自分が欲しいソフトウェアを開発することもできます。画期的なソフトウェアを開発することができれば、起業できるかもしれません!

開発手法としてテスト駆動開発というものがありますが、目標駆動人生ができたらいいんじゃないかと思います。

  • 作りたいソフトウェア/サービスは?
  • 入社したい会社/参加したいプロジェクトは?

それが決まれば、今あなたが学ぶべきプログラミング言語が決まります!

プログラミング初心者におすすめのサービス
1. 講師から対面で学びたい派なら

プログラマカレッジをおすすめします。ProEngineerという転職エージェントが運営しているプログラミングスクールです。20代限定なんですが、無料で受講できて、修了後、就職支援もしてくれるんです。最高過ぎですよ、これ!!企業からの協賛金で運営しているのでスクールを無料にできるんだそうです。すばらしいシステムだと思います!

30代以上の方には

プログラマカレッジは20代限定なので30代以上の方にはWebCampをおすすめします。受講料の返金保証がついているし、毎日11時〜23時まで通い放題なのでとてもいいと思います!

2. 自宅で学びたい派なら

「就職保証付き」オンライン就職予備校をおすすめします。Javaエンジニアコースでは就職保証がついているのでプログラマーとして就職したい方にはぴったりです。Javaエンジニアの求人ってめっちゃ多いし、求められる技術レベルもそこまで高くないのでちゃんとした教育プログラムなら就職保証できるだろうなとJavaエンジニア経験者の私も思います。

3. つまづいた時に質問したくなったら

プログラマー専用の質問サイトteratailをおすすめします。 つまづいた時にteratrailで質問すれば教えてもらえます。

4. 未経験の人でも登録できる転職エージェント

ワークポートは未経験の人の転職活動も支援してくれますし、全国の求人を扱っているので地方在住の方にもご利用いただけます。

これらのサービスを活用すれば、全くの初心者からでもプログラミングをばっちり出来るようになると思います!レッツトライです!

エージェントを使った方が転職活動は楽です

東京・大阪近郊のイケてるIT企業に転職したい人には『レバテックキャリア』

 東京・大阪近郊のエンジニア経験者向け転職サービスです。

このサービスを運営しているレバレジーズという会社はシステム開発もやっているので、現場の仕事をよくわかってくれてますし、ヒカ☆ラボというIT系の勉強会なども主催していたりteratailというプログラマー専用の質問サイトを運営してて好感が持てます。求人案件もWebやスマホの面白い仕事が多いのでいいと思います。

ホームページを見ると分かるんですが、若くて美人の担当者が多いのもナイスなんです!私の場合(たぶんあなたも)、担当者が美人だと転職活動のモチベーションめちゃ上がりますからね笑

エンジニア未経験の方や地方在住の方にはワークポートというエージェントをおすすめします。

エンジニア未経験の方や地方在住の方には『ワークポート』

全国の求人を扱っていて、しかもITエンジニア未経験の人にも転職支援をしてくれるエージェントです。

未経験の人はサポート対象外のエージェントが多い中、ワークポートは未経験者を支援し転職を成功させています。

未経験の方こそエージェントから職務経歴書の作り方や面接の仕方のレクチャーを受けた方がずっとうまくいきます。

『派遣社員』なら正社員とフリーランスの『良いとこ取り』!

  • 「フリーランスになりたいけど、確定申告とかめんどくさいな」
  • 「定時帰りできる職場や、時短勤務がしたい」

という方には派遣社員がおすすめです。

派遣ってネガティブなイメージありますが、ITエンジニアの派遣社員なら

  • 時給が高く、給料も悪くない
  • やりたい仕事を選べる
  • 確定申告不要(派遣会社がやってくれる)
  • 厚生年金、健康保険も派遣会社が入ってくれる

ので、正社員とフリーランスのいいとこ取りな、とてもいい選択なんです。

 - 勉強法