プログラミング初心者にオススメの言語3選
「プログラミングを勉強したい」と思ってから調べることはたくさん。どんな言語を学ぶのか、どうやって学ぶのか、どんなものを作ればいいのかなど。今回はプログラミング初心者がどの言語を選ぶべきなのかを目的別に紹介する。
何を作りたいかによって言語は異なる
プログラミングを勉強したいと思った人がまず最初に決める必要があるのが「ネイティブアプリを作るのか、Webアプリを作るのか」だ。ネイティブアプリとはiphoneやAndroidで使われるアプリのことだ。対して、WebアプリというのはWebブラウザ上で動くWebサービス全般。例えばネイティブアプリだと、パズドラやモンストなどのゲーム系からFacebookやTwitter等のSNS、Cookpad等のメディア系など様々なものがある。Webサービスだと、先に上げたFacebookやTwitterやCookpadもあれば、2ちゃんねる等の掲示板系、mixiなどのコミュニティなどこちらも数多くのサービスがある。
上の例に挙がったFacebookやTwitter、CookpadのようにネイティブアプリもあればWebアプリもあるサービスは数多く存在する。つまり、◯◯系のサービスを作りたいからネイティブアプリが良い、という決め方はなかなか難しい。なぜなら、どちらでも作れてしまうからだ。ただし、ゲーム系を作りたい場合はネイティブアプリの方が良いだろう。それ以外ならどちらでもいい。
では、どうやってネイティブアプリかWebアプリかを選べば良いのかというと、あなたが作りたいサービスの場合どちらの方が最適かを考えれば良い。アプリの方がマッチしているのか、Webサービスの方がマッチしているのか。集客面やUXの面などを考慮して決めよう。
ネイティブアプリを作りたいなら、次にプラットフォームを決める
アプリのプラットフォームは大きくAndroidとiOSに別れる。Androidアプリを作りたいならJavaというプログラミング言語を学ぶ必要があり、iOSアプリを作りたいならswiftを学ぼう。日本人で、日本人向けのサービスを作るならiOSアプリを選ぶ人が多いのではないだろうか。
iOSを選ぶメリット
iOSは日本国内でアーリーアダプターのマーケットシェアが大きい。純粋なユーザー比率はAndroid:iOSは1:1程だが、新しいアプリに敏感な人や若い人たちはiOS(iphone)を持っている割合が大きい。かつ、そういったマーケットシェアの状況であるため、現在でもAndroidよりiOS開発者の求人が多い。 iOSアプリを作りたいなら、objective-cとswiftという2つの言語の選択肢があるが、swiftが最も新しいプログラミング言語であり、今後objective-c開発の勢いは落ちていく傾向にあるため、swiftを勉強することをおすすめする。
Swiftを学ぶ時にオススメの本
絶対に挫折しない iPhoneアプリ開発「超」入門 増補改訂第4版【Swift 2 & iOS 9】完全対応という本がSwift学習には良い。初心者向けに優しく書かれているし、本のタイトルの通り限りなく挫折をしないような考えられた構成になっている。
Androidを作る時のメリット
ここまでの内容だとAndroidアプリを作る理由がないように見えるが、実際はそうではない。世界的に見ればAndroidのシェアが圧倒的に大きいため、海外向けにアプリを作りたいならAndroidが良い。また、iOSアプリはアプリの申請に数週間〜1ヶ月強掛かるため、アプリが完成してから公開されるまでに色々とめんどくさい。Appleからアプリ申請を拒否(リジェクトと言われる)されることも多く、手間がかかる。一方、Androidアプリの場合は、アプリが完成してから1日足らずでGoogle Playに公開される。
Androidアプリを作る時にオススメの本
Androidアプリを作るためには、Javaというプログラミング言語が必要であり、かつAndroid Studioと呼ばれるIDEの使い方を覚える必要がある。Java自体はスッキリわかるJava入門 第2版 (スッキリシリーズ)という本で学びつつ、Android Studioに使い方はチュートリアル等で学ぶのが良い。
Webサービスを作るなら、Ruby on Railsが良い
Webサービスを作るための言語はかなり多く存在する。おそらく、RubyやRails,PHPという言葉はよく耳にするのではないだろうか。PHPは数年前まで日本で人気が高かったが、様々な理由から今は人気は落ち目にある。それと変わってRuby on Railsはここ数年安定した人気で、かつこれからも安定した人気があるだろう。プログラミング言語を選ぶときはプログラミング業界の中での流れを読み、その言語を学習している人口が多いほうが良い。なぜなら、その言語についての情報も多くなるし、求人も多くなる。初心者ならそういった言語を選ぶべきだ。
RubyやRuby on Railsを学習する際には、下記記事を参考にしたい。 独学でも確実に力がつくプログラミング勉強法【Rails編】ステップ①
ちなみに注意
補足だが、ネイティブアプリを作るなら、SwiftかJavaを学べばOKというわけではない。なぜなら、多くのネイティブアプリはRubyなどの言語を使ってAPIというものを作り、それによってデータの作成や保存などを行っている。初心者のうちは意識する必要はないが、一応知っておいたほうがいいだろう。