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

2016年11月18日に投稿 → に更新 技術

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

使い分ける観点として、

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

があります。

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

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

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

仕事用言語の使い分け

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. 教室で学びたい派なら

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

30代の方には

プログラマカレッジは20代限定なので30代の方にはゼロスクがおすすめです。35歳以下なら無料で受講できます。教室も札幌、仙台、東京、大阪、神戸、福岡と全国展開しているので地方の方でも利用できます。

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

Udemyという動画講座がおすすめです。時々特別セールがあって驚くほどの低価格で受講できるので、是非チェックしてみてください。

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

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

4. エンジニア未経験の人でも利用できる転職エージェント

ワークポートは未経験の人の転職活動も支援してくれますし、全国の求人を扱っているので地方在住の方にもご利用いただけます。お給料をもらいながら社内研修でプログラミングを学べる会社が狙い目です。

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