プログラミング初心者のための初めての言語の選び方

いまにわかに人気が出てきているプログラミング学習。
あなたもスキルアップのためにプログラミングを初めてみようと考えているのではないでしょうか。

けれども、プログラミングを初めてみるとは言っても、まず迷ってしまうのが、どの言語を勉強すればいいの?
っていうことですよね。

先に結論を言わせてもらうと、初めて学ぶプログラミング言語は目的に合わせて選んだほうがいいのですが、
とくに目的もなく、ただ単にプログラミングを初めてみたいという人は、何にでも使える汎用言語を選ぶのがよいでしょう。

というわけでこの記事では、あなたの目的に合ったプログラミング言語を紹介するとともに、そのプログラミング言語の特徴と選んだほうがいい理由を見ていくことにしましょう。

アプリを作りたいならJavaかSwift

もしあなたがアプリを作りたいと思っているのなら、JavaかSwiftを選ぶのがよいでしょう。
iOSのアプリ開発ならSwift、Androidのアプリを作るならJavaを使うのが主流となっているからです。

ただ、このほかにも選択肢はあって、たとえばiOSのアプリはObjective-Cという言語で開発する場合もあります。

それでもなぜSwiftがいいのかというと、SwiftはAppleが開発しているプログラミング言語であるという理由がまず一つ挙げられます。

それから、ふたつ目の理由としてはObjective-Cという言語は難易度が高く、そもそも初めてプログラミングをする人にオススメできる言語ではないという理由があります。

そして最後の理由として、現在iOSアプリの開発プロジェクトの大半がSwiftを利用することが多く、仕事も得やすいと思われるからです。

仕事が得やすいというのはAndroidアプリにJavaを推す理由でもあります。

Androidアプリの開発にはKotlinという言語が使われることもあるのですが、とはいえやはりJavaによる開発案件の方が多いのです。
しかもJavaはアプリの他にも大抵の目的に使える汎用言語であるということもあり、仕事が圧倒的に多いのが特徴です。

なので、どうせ初めてプログラミングを学ぶのであれば、将来性も考えてJavaを学んでおいたほうがいいのではないかというのが僕の考えです。

こういった理由から、iOSアプリを作りたいのならSwift、Androidアプリを作りたいのならJavaを選ぶのがよいでしょう。

Webサイト・Webサービスを作りたいのならRuby

プログラミングを初めてみたいと思う理由がWebサイトやWebサービスを作りたいということであれば、Rubyは特におすすめする言語です。

その理由はいくつかありますが、まず一つ目の理由としては日本語の情報が多いことが挙げられます。

Rubyというプログラミング言語は、日本人が開発した言語なので、多くの日本人エンジニアが使っていることもあって日本語のサイトや本が多く出回っています。
そのため、プログラミングが初めてという方でも問題が起こったときに解決しやすい言語であると言えるわけですね。

そして、もうひとつの理由としてはRuby on RailsというWebフレームワークの存在があります。
このWebフレームワークが何なのか、超簡単に言ってしまうとWebサイトを作るための機能の詰め合わせみたいなものです。

Webサイトを作ると一口に言っても、たとえばログイン機能をゼロから実装しようと思うとなかなか大変です。
そうした、「Webサイトを作る時によく使う機能」をパッケージにして必要なものだけを必要なぶんだけ使えるようにしているものをWebフレームワークといいます。

もちろんRuby以外の言語にもWebフレームワークは沢山あるのですが、それでもRuby on Railsを用いて開発されるプロジェクトが多く、求人も沢山あるのです。

なので、のちのちまでプログラミングで仕事をしたいとお考えなのであればRubyを学んでおいて損をすることはないでしょう。

AIやIoTをやりたいのならPython

プログラミングを初めてみたいと思った人の中には、最近流行りのAIやIoT分野で活躍したいと思っている人も多いのではないでしょうか。
そんなあなたが選ぶべき言語はPython一択です。

いま、AIの開発現場ではPythonという言語を使うことが非常に多く、その理由としてはPythonにはAI開発に特化したライブラリが他の言語に比べて圧倒的に多いからです。
ディープラーニングに欠かせないTensorflowや、それを使いやすくしたAIフレームワークのKeras、画像認識ライブラリの代表格と言えるopenCVなど、これらは全てPythonで利用できるAI向けライブラリです。

また、仕事の面でもPythonは有利で、AI関連のプロジェクトを抱えている会社のほとんどがPythonエンジニアを募集しています。
つまり、AI開発の現場で働きたいと考えているのなら、Python以外の選択肢はありえないということです。

また、IoTに関して言えば、Raspberry Piという小型コンピュータのプログラミングをPythonならやりやすいということが挙げられます。

この小型コンピュータは外部機器を接続できることと非常に省電力で動くことが特徴。しかもWifi経由でインターネットに接続でき、Webサーバーとして稼働させられるため、
たとえばインターネット経由で命令を受け取って蛍光灯をオン/オフするといったことが可能なのです。

以上の理由から、AIやIoTをやってみたいのならば、ぜひPythonの勉強を初めてみてください。

ゲームを作りたいのならC#

プログラミングを初めてみたいと考えているあなたは、ひょっとするとゲームを作ってみたいと思っているかもしれません。
ゲームを作りたいのなら、C#という言語を覚えてみてはいかがでしょうか。

その理由としては、Unityというゲームエンジンでの開発を主にC#で行うからです。
Unityはゲーム開発の主流となっているゲームエンジンであり、ライト層向けの簡単なゲームから、ゲーマー向けのハイクオリティゲームまで、どんなゲームでも作れます。

Unityは物理計算など、本来であれば高度な数学知識とプログラミング技術が必要となる部分を直感的に作ることもでき、非常にゲーム開発がしやすいのが特徴です。

なので、どちらかといえば、ゲーム開発のためにC#を学ぶというより、Unityを使うためにC#を学ぶというイメージのほうが近いかもしれません。

C#という言語は初めてプログラミングをする方には難度が高い言語であることも事実です。
ただ、それでもC#を覚える価値があると言えるくらいUnityはゲーム開発においては欠かすことができません。

ゲームを作りたいのなら、ぜひともC#を勉強してみてはいかがでしょうか。

作りたいものは無いけど、プログラミングを初めてみたい人

僕の個人的な感覚ですが、プログラミングを初めてみたいと思っている人の中で一番多いのはこのパターンの人ではないでしょうか。

なんだか世の中プログラマーが不足していて、しかもそこそこ給料もいいらしい。
だからプログラミングを初めてみようと考えている人。

大学を卒業して就職しても正直将来不安だし、何か手に職をつけたい。
だからプログラミングを初めてみようと思っている人

このまま会社勤めしていてもいつリストラされるかわかったもんじゃないし…。
だったら何かスキルアップしておこうと思ってプログラミングを初めてみおうと思っている人。

人によって状況や理由は違うと思うのですが、つまるところ将来のために何か仕事になるスキルとしてプログラミングを初めてみたいと思っている人は結構多いんじゃないかと思っています。

そんな人にオススメなのは、汎用言語であるPythonです。

PythonはさきほどAI・IoTをやりたい人向けのおすすめ言語としてご紹介した言語ですが、実はこのPythonというプログラミング言語は非常に汎用性が高くて何でもできることも大きな特徴なのです。

僕たちエンジニアの間では、一昔前はPythonといえば海外でよく使われている言語というイメージでした。
そのころはPythonの日本語書籍も数えるほどしか無く、ネットでの日本語の情報も乏しかったため、とてもプログラミングをこれから初めてみたいという人におすすめできる言語ではありませんでした。

ところが近年、AIブームの到来によってPythonの日本語書籍の出版が急増しており、書店のプログラミングコーナーもPythonが一番存在感を持っているほどになっているのです。
当然ながらネット上の日本語情報もどんどん増え、もはや日本語の情報が少ないのは今は昔という状態になっているのです。

また、Pythonは文法が非常にシンプルであるため覚えやすく、初めてプログラミングをやってみたいという方にとっては最適な言語だと考えています。

なので、あなたがもしプログラミングをとりあえず初めてみたいという方であれば、Pythonを学習するのがよいのではないかと思います。

まとめ

いかがでしたでしょうか。

以上がプログラミングを初めてみたいと思う人にオススメする言語とその理由でした。
もちろん賛否両論いろいろあると思いますが、僕の考えは以上のような感じです。

では、最後に今回の記事の内容を簡単にまとめて終わりといたします。

  • iOSアプリが作りたいならSwift
  • Androidアプリが作りたいならJava
  • Webサービス・Webサイトを作りたいのならRuby
  • AIやIoTをやりたいのならPython
  • ゲームを作りたいのならC#
  • とりあえずプログラミングを初めてみたいのならPython

という感じです。
それでは、最後までお読みくださってありがとうございました。

またどこかの記事でお会いしましょう!