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

      2017/10/14

プログラミング言語って基本的には汎用言語なので、一つの言語を覚えればいろいろなものが作れますが、言語によって得意不得意があります。目的に応じて使い分けるのが理想的です。

使い分ける観点として、

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

があります。

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

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

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

仕事用言語の使い分け

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

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

仕事ではPHPを、趣味で何か作る時はGoを使うみたいな使い分けをすると、後になってGoを仕事で使う時に役立ったりします。

趣味用言語の使い分け

私の場合、

  • 仕事では業務システム開発(Java)
  • 趣味のWebサービス開発(PHP & レンタルサーバ)

と使い分けていました。

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

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

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

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

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

ですから、Rubyで開発したサービスを公開するには環境構築も自分でしなければなりません。

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

意志力の消耗を防ぐ

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

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

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

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

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

クラウドソーシングの仕事の多さ

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

となると、使用言語をPHPに統一して、知識を集中させたほうが学習効率がいいのかなと今は思っています。

とはいえ、このような経済効率よりも気分良くコードを書けることも重要なのでやっぱRuby使いたいなぁと気持ちが揺れています。

ですから、ポリシーを一つに固めるのではなく、その時々に自分が感じたインスピレーションに従っていけばいいんじゃないかと思います。

目的によって使い分けるのが良い

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

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

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

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

30代以上の方には

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 - 技術