プログラミング言語の『使い分け方』を考えてみた

      2017/03/23

プログラミング言語って基本的には汎用言語なので、一つの言語を覚えれば幅広い使い方をすることが出来ますが、言語によって得意不得意があるので目的に応じて使い分けられると良いですよね。

使い分ける観点として、

  • 何を作れるか、何を作りやすいか?
  • 仕事で使えるか?

があります。

趣味でプログラミングする分には好きな言語を使えばいいですが、仕事の場合は、そのプロジェクトで使われてるものを使わなければなりません。

ですから、仕事でよく使われているものとそうでないものを考えていくと使い分けがしやすくなります。

そんな観点で考えたプログラミング言語の『使い分け方』を紹介します。

仕事用言語の使い分け

Webアプリケーションやスマホアプリのサーバーサイド開発の仕事でよく使われてるのはPHP、Javaです。

Ruby, C#, Python, Perl, Go, Node.jsなどでもWebアプリケーションは作れますが、案件数でいうとPHP、Javaが圧倒的に多いです。最近はRubyも増えてきてて嬉しいですけどね。

仕事ではPHPを使って趣味で何か作る時はGoを使うみたいなことがあっていいと思います。

趣味用言語の使い分け

私の場合、仕事では業務システム開発をやっていたのでJavaを使っていて、趣味でレンタルサーバを借りて何か作る時はPHPを使う、というのをやってました。

VPS上で動くサービスを作る時には、RubyやNode.jsも使っています。

言語的に何が優れてるかとか、使いやすいかで言うと、個人的にはRubyが一番少ないコードで多くのことが実現できて生産性の面で優れていると思います。

技術的好みだけで選ぶとも限らない

最近は、趣味で新たにサービスを作る際もPHPを使っています。

なんでかというと、技術的にはRubyの方がコードを簡潔に書けて良いのですが、Rubyで作ってしまうと専用サーバかVPSかクラウド環境を用意しなければなりません。

国内のレンタルサーバでもRubyのCGIモードはサポートされていますが、CGIモードではRailsなどのフレームワークは動作がかなり重くなります。

ですから、Rubyで開発したサービスを公開するには環境構築も自分でしなければなりません。環境構築は「一度手順を覚えれば、基本的に同じコマンドを打てば出来るから簡単じゃん」って思われたかもしれませんが、案外めんどくさいものです。

その点、レンタルサーバで動かせるPHPならば、ファイルを置けば動きます。ちょっとしたアイデアが浮かんでサクッとサービスを作って動かしたいという時にはPHPで実装するのが一番です。

意志力の消耗を防ぐ

大きな行動を起こすには強い意志力が必要です。PC上でサービスが完成した後に、サーバにデプロイするのって結構意志力が入ります。

「このサービスうけるかなぁ…」
「苦労して作ったのに誰も使ってくれないかも…」

などと様々な気持ちが湧いてきます。その上

「環境構築がめんどくさいなぁ…」

となると、さらに意志力を消耗します。PHPならレンタルサーバに置けばいいだけであれば、意志力の節約になります。

PHPはクラウドソーシングの仕事を請けやすい

PHPを使う理由は、もう一つあって、クラウドソーシングで小さな仕事を受注する場合、その多くがレンタルサーバで動く小規模なWebサービス開発で、使用言語はPHPになります。

となると、使用言語をPHPに統一して、知識を集中させたほうが学習効率がいいかなと思っています。プログラマーとしてはRubyのコードを書くのが気持ちいいんですけどね。

ですから、何を目的とするかがポイントなんです。

自分が設定した目的によって使い分けるのが良い

  • 言語の技術的優位性を優先して生産性や処理性能を上げたい → Ruby, Go, Scala, node.jsなど
  • サービスの公開が簡単な方がいい → PHPなど
  • 仕事で幅広く使えるものがいい → Java, PHPなど

それぞれの目的によって、使い分けられたらいいですね!

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

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

30代以上の方には

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

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

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

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

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

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

 - 技術