プログラミング言語を比較して自分に合った言語を見つけよう!
「自分に合ってるかってどうやったら分かるのかな?」
「どうせなら愛着の持てる言語を使いたい!」
プログラミング言語ってたくさんありすぎて選ぶのが難しいですよね?
私もこれまでに様々なプログラミング言語を使ってきましたが、
- 仕事で必要だった
- 趣味で使いたかった
といろいろな理由で選んできました。
いろいろな言語を使ってみた結果、言語の特性とそれに合う人の関係性が分かってきました。
そこで今回は「自分に合った言語を見つける方法」を紹介します。
『目的』と『感性』で選ぶべし!
コードのサンプルを見て、感覚的に「この言語いいなぁ!」と感じても、その言語で自分が作りたいソフトウェアが作れなければ意味がありません。
逆に目的のソフトウェアを作れても、感覚的に気に入らない言語を使うのもしんどいものです。
なので、目的を果たせる言語の中からフィーリングの合うものを選ぶのが良いと思うんです。
ちょっとしたWebサービスを作って公開したいなら?
第一候補はPHPです。PHPはほとんどのレンタルサーバで動きます。レンタルサーバは費用が安いですし、実行環境がセットアップ済みなので、かんたんに使えます。
アプリケーションを作って、いざ公開しようとした時に実行環境の構築に手間取って挫折なんてことにならないためにも、PHPを使うのは良い選択です。
環境構築に自信があるのであれば、Rubyがおすすめです。Rubyはとても洗練された言語で、PHPよりも簡潔で綺麗なコードが書けます。コードの書き方に工夫のし甲斐、奥深さがあります。
例えば、配列の中から3の倍数に当たるものだけを抽出するコードをPHPで書くと
$items = array(2,4,3,5,56,7); $results = array(); foreach ($items as $item) { if ($item % 3 === 0) $results[] = $item; }
となりますが、Rubyだと
items = [2,4,3,5,56,7]; results = items.select{|n| n % 3 == 0 }
と2行で書けてしまいます。
ただ、この説明はちょっと恣意的でPHP5.3からはRubyと同じような書き方が出来ます。
<?php $items = [2,4,3,5,56,7]; $results = array_filter($items, function($n) { return $n % 3 === 0; });
しかしRubyから大分遅れてのことですし、同じような書き方が出来ても、Rubyの方がより簡潔で綺麗だと感じるかと思います。
レンタルサーバでもRubyを動かせるものはたくさんありますが、CGIモードでの実行がほとんどなので、Ruby On Railsのようなフレームワークを使うことは出来ません。Ruby On RailsでWebサービスを作って公開するなら、VPSまたはHeroku、AWSのようなクラウド環境を使うことになります。
VPSでWebサービスを公開するにはApache、NginxやMySQLのインストール、セットアップを自分でやる必要があります。そこまで難しくはないんですが、手順は多いので面倒です。
そういう意味でもPHPで実装してレンタルサーバで公開というのが一番かんたんでおすすめなんです。
スマホアプリを作りたいなら
AndroidアプリならJavaかKotlin、iOSアプリならSwiftかObjective-Cを使うのが通常です。
あるいは、ReactNativeやPhoneGap(Cordova)、Titunimを使えばJavaScriptでスマホアプリを開発出来ます。これらの技術はネイティブAPIをJavaScriptでラップすることでJavaScriptでの開発を可能にしています。そのため、最新のネイティブAPIへの対応が遅いという問題があります。
スマホゲームを作りたいのであれば、Unityという技術を使ってC#で開発できます。Unityを使うとC#のコードをビルドする時に、iOS用、Android用などと対象プラットフォームを選択できるんです。なので、一つのコードで複数のプラットフォームに対応できるメリットがあります。
こんな感じに目的ごとに使える言語の選択肢を把握したら、あとは自分のフィーリングに合った言語選べばいいんです。
例えば、iOSアプリを開発したいけど、Swiftはフィーリング的に合わないから、ReactNativeを使ってJavaScriptで開発しようといった選択です。
このように選択すれば、言語の実用性と好みを両立した選択ができるはずです。ぜひ参考にしていただければと思います。