「プログラミングを始めたいんだけど、何をしたら良いのかわからない」と迷っていませんか?
僕もプログラミングの学習をしようとしたとき、何か手をつけたら良いのかわからなくなりました。
プログラミングを始めるには何の言語を勉強するか決めれなければいけません。でも、このプログラミング言語選びがとても重要で、今後のプログラミング学習を左右します。
この記事では、プログラミング初心者が間違った言語の選び方をしないように、
- 挫折しない言語の選び方
- 目的別のおすすめな言語
という部分をまとめていきます。
プログラミング言語の選び方
プログラミングは言語から決めてはいけない!?
よく初心者の方の多くが
- どんな言語から始めたらいいの?
- 何をするべきか教えて!
というように悩んでいる姿をよく見ます。
でも正直、プログラミングを始めようとしたときに最初に言語から決めるのは危険だと思います。プログラミングを始めるときは作りたいものから決めなければいけません。そうでないとモチベーションが続かないからです。プログラミングはそれ自体はあまり面白いものではなく、それによって何か作り上げることによって達成感を味わうのが醍醐味です。だからこそプログラミングを始めるときは言語から決めるのではなく、作りたいものから決めましょう。
やりたいことから言語を決めよう
作りたいものから決めたら、それを作るために必要となる言語を選びましょう。しかしプログラミング言語ごとに難易度や汎用性も変わります。初心者には難易度が低く、汎用性が高くて、需要や将来性のある言語がおすすめです。
これらの要素を考慮して、作りたいもの別に、初心者におすすめの言語を紹介していきます。
Webサイトを作るには
HTML・CSSは必須だが…
HTMLとCSSはWebサイトを作る上で土台となる言語です。
HTMLは、正確にいうとプログラミング言語というよりマークアップ言語といって、サイト内に文章を表示させる役割を持っています。
CSSは、スタイルシートといわれ、HTMLで表示した文字などにデザインを入れる役割を持ち、これのおかげで文字を大きくしたり、色を変えたりできるのです。
ただし、プログラミングを始める時にはHTML・CSSから始めるべきではないと考えています。というのもHTML・CSSはWeb制作においてメインとなる言語ではありません。あくまでコードに書いたものを表示させるための言語です。
他のプログラミング言語を学びながら、必要になった時に学ぶくらいの感覚でいたら良いでしょう。HTML・CSSから始めるのはおすすめではありません。
JavaScript
JavaScriptはHTML・CSSと並んでWebサイトには必須となるプログラミング言語です。これのおかげでWebページに動きを与えることができます。
HTML・CSSとJavaScriptとは、Webサイトの中でユーザーの目に見える部分である、フロントエンドを作るための言語です。この2つはWebサイトを作るためには勉強して損しません。
特にJavaScriptの方は求人数も多くて需要がある言語なのでプログラミング初心者が一番最初に勉強するのに最もおすすめできる言語です。
PHP
PHPはWebサイトのサーバーサイド、つまりバックエンドを開発するのに適した言語です。
そしてWebサイトを作るためのツールとして有名なWordPressをカスタマイズするのに必要となります。WordPressは世界中で使われており、非常に需要のあるものなので、そのベースとなっているPHPもとても仕事がもらいやすくなる言語と言えるので、副業を考えている人にもとてもおすすめできる言語です。
Ruby
RubyはPHPと同じでWebサイトのバッグエンドを開発できる言語です。
Rubyのいいところは日本人が作ったプログラミング言語なので、勉強しようとした時に日本語の教材が多いので挫折しやすくなっています。
Rubyを勉強するならRuby on Railsというフレームワークがとても使いやすいので、セットで勉強しましょう。
スマホアプリを作るには
OSによって異なる
現在のスマホ市場には、iPhoneで使われるiOSと、AndroidOSの2つの有名なOSが存在しますが、それぞれのOSでおすすめの言語が変わります。
両方のOSでアプリを出すと手間はかかってしまいますが、逆に考えてみると、スマホアプリ開発には多くの人材を必要とします。なので求人数も少なくないので転職を考えている人にも、スマホアプリ開発はとてもおすすめです。
Swift
iOSアプリを作りたいならSwift一択です。
比較的新しいプログラミング言語で教材が少ないのが弱点ですが、Swiftさえ習得すればiPadアプリやMacアプリといった他のApple関連のアプリが作れるようになります。
非常にコードが見やすくて、初心者にも難易度が低い言語です。
Kotlin
Androidアプリを開発するには様々な言語の選択肢がありますが、なかでもKotlinは、現在Androidアプリを開発する際に一般的に使われる言語です。
Swiftと同じように比較的新しい言語ですが、LINEやYahoo!などの有名なアプリでも使われています。
Java
Androidアプリを作るならJavaも視野に入ってきます。
Webアプリも開発可能で汎用性が高く、動作が速くて非常に人気があります。
Javaはルールが多くて、難易度が少し高い印象のある言語ですが、他の分野にも応用が効きますし、求人も多い言語です。初心者が一発目にやるのはどうかと思いますが、習得できたら困らない言語の一つです。
ゲームを作るには
ゲームエンジンを活用しよう
ゲームエンジンとは私たちがゲームを開発するときに、物理演算や当たり判定、描写処理などゲームにはなくてはならない処理を容易に組み込んでくれるソフトウェアのことです。完成度の高いゲームを作るならゲームエンジンはなくてはならない存在です。ただ、細かい処理をしたいときはプログラミングが必要となるので、ゲームエンジンと言語はセットで習得しましょう。
ここでは、他の項目と違っておすすめのゲームエンジンを紹介します。
Unity
結論から言いますと、初めてゲームを作りたい方なら最もおすすめできるのはUnityです。
Unityは、スマホのシンプルなゲームからパソコンの本格的なゲームまで幅広く開発できるゲームエンジです。どんなジャンルのゲームでも作ることができます。そしてある程度のスペックのパソコンならそれほど問題なく作動します。ゲームエンジンの中では動作が重くて、作れる幅も狭いものがあるので、これらは十分なメリットです。
さらにUnityは、公式がUnity Asset Storeという、無料のものから有料のものまで、キャラクターやエフェクト、マップなどの豊富で簡単に使える素材を配布しているサイトがあるので、絵が描けなかったり、アニメーションが作れない人でもゲームが作れるようになります。
ただ、これはゲーム開発全体の問題ではありますが、初心者がいきなり勉強しても、ゲームエンジンの設定なども勉強しなければなりませんし、コードも複雑なので、取得するのは難しいです。
UnityではC#というプログラミング言語を使いますが、これも簡単な言語と比較すると少々難しい言語なので、それなりの覚悟が必要です。
Unityさえマスターすれば、個人のゲーム開発では困ることはないでしょう。
Unreal Engine
Unreal Engineは、ハイクオリティーなゲームを作るのに適したゲームエンジンです。PCゲームを作るのに特化しているので、もしそういった高品質のグラフィックを売りにしたゲームを開発したかったり、そのようなゲームを制作している企業に就職したいならUnreal Engineを習得するのが手っ取り早い方法です。
Unreal EngineではC++という言語を使いますが、これが非常に難易度が高いです。それに日本語の教材も少ないので、正直なところ初心者が一発目に学ぶ言語としてはおすすめできる言語とは言えません。
業務を効率化・自動化するには
Python
Pythonは、初心者に最もおすすめされる言語の一つで、コードが見やすく書きやすく、汎用性のある言語です。正直、やりたいことがPythonで問題なくできるならPythonやればいいじゃんと思うほど、初心者でも取っつきやすいです。
Pythonによって、Web上からのデータの収集、ソフトの操作、Webサイトの立ち上げなどを自動で行えます。
VBA
VBAは、「Visual Basic for Applications」の略で、Word、Excel、PowerPointなどのMicrosoft Officeのソフトでも作業を自動化できます。
特にExcelを使う人は多いでしょうし、それほど難しい言語でもないので、全ての社会人におすすめできる言語です。
AIを作るには
機械学習
機械学習とは、AIに膨大な量のデータから反復的に学習させ、コンピューターが自らデータの分析などの複雑な処理をできるようにさせることです。
AIを開発するには機械学習ができる言語の取得が必須です。
Python
Pythonは、何より使いやすさに特化しています。AIを作る以外にもWebアプリを作ることもできますし、非常に汎用性が高く、その分Pythonを使う人も多いので情報の多さも長所の一つです。
実行速度で言うと、もっと速い言語がありますが、コードの見やすさや求人の多さから考慮しても、初心者に最もおすすめできる言語です。
R
R言語は、統計解析に適した言語です。逆にいうとPythonほどの汎用性はなく、データ解析に特化しています。
言語自体は難しすぎるわけではないですが、そもそもデータ解析に関わる専門的な知識も必要になってくるので、全体的な習得の難易度はとても高いです。
まとめ
この記事で最も伝えたい部分は以下の通りです。
よく言語を一番最初に決める人が多いですが、長続きさせたいなら目標を先に決めてからプログラミング言語を決めるようにしましょう。