- プログラミングを始めてみたいけど、どの言語をやったらいいのか分からない?
- プログラミングって難しくないの?文系でも大丈夫?
- 初心者にオススメのプログラミング言語ってあるの?
- プログラミングの勉強に挫折したことがある。
そんな悩みをお持ちの人向けにこのエントリを書こうと思います。
結論から言うと、私的に初心者にオススメの言語は「HTML/CSS/Javascript」か「Unity(C#)」です。
もしiPhone向けのアプリが作りたいなら「Swift」一択で、Androidアプリが作りたいなら「Kotlin」になるでしょう。
「iPhoneアプリが作りたい!」とか明確な目標がないのであれば、「HTML/CSS/Javascript」か「Unity(C#)」からプログラミングの勉強を初めてみるのが、私的にはオススメです。
プログラミングの勉強に年齢も、文系理系も関係ない!
私の本業はWEBデザインなので、HTML/CSS/Javascript は普段仕事で使っています。またUnity(C#)を使ってゲームアプリをiOSとAndroidの両方でこれまで2本アプリをリリースしています。
自分はもともとプログラミングが得意と言うわけではなく、本来はデザイナーでごりごりの文系人間です。HTML/CSS/Javascriptは30代半ばでフリーランスになった関係で、必要に迫られて覚えました。それまでHTML/CSS/Javascriptが全くできなかったわけではないですが、仕事がデザイン専門だったのでHTML/CSS/Javascriptを触る機会はあまりありませんでした。
Unity(C#)に関しても、同様に30代半ばでフリーランスになってから始めました。よくプログラミングの勉強を始めるのに30代からでは遅いのかを気にしている人がいますが、年齢はあまり関係ないと思います。文系・理系も関係ありません。
初心者がプログラミングの勉強で挫折するパターン
自分もこれまでHTML/CSS/Javascript、Unity(C#)以外にも、いろいろとプログラミングに手を出しては挫折してきました。Java、C++、C、Processing、PHP、思いつくだけでこれだけチャレンジしては、挫折してきました。
上に挙げたプログラミング言語では挫折して、なぜHTML/CSS/Javascript、Unity(C#)では何かしらの成果が出せたのでしょうか?
その理由を自分なりに考えてみました。
明確な目標がない
プログラミングを学習するには目標が必要です。
「どんなものが作りたいか」がないと、なかなか学習のモチベーションは維持できません。プログラミング学習を挫折するパターンとして、目標(作りたいもの)がなくプログラミングの勉強をしていると、しだいに何のための勉強かわからなくなり、最終的にはモチベーションがなくなって勉強をやめてしまう、ということが良くあります。
そもそも作りたいモノがないと、プログラミングを学ぶ意味はありません。プログラムの勉強を始める前に、「自分は最終的に何をつくりたいのか?」「なんのために勉強するのか?」「何を目標、ゴールにするのか?」をはっきりさせた方がいいでしょう。
逆に目標(作りたいもの)があると、何を学べばいいのかが明確になり、日々の自分の進歩が分かって学習へのモチベーションを維持しやすくなります。
環境設定ができない
初心者がプログラムの勉強を初めて一番最初につまずくのが、プログラミングする前の「環境設定」だと思います。
多くのプログラミング言語で、プログラムを書く前にまず「プログラムを書くための環境をパソコン上に構築する」必要があります。
それがかなりややこしく、「ターミナルで~」「SDKを落としてきてパスを設定して~」とかプログラミング初学者にとってハードルが高すぎます。しかも、書籍を見ながらそれ通りに環境設定をやっても、全然うまくいかないことが多々あります。
熟れた人でも環境設定だけで半日、1日かかるなんてよくある事です。
プログラミング初学者の多くがこの「環境設定」で心が折れてしまうのではないでしょうか。
プログラムを書く前に、プログラミングの勉強が嫌になってしまうのです。
初心者向けの本が、もうすでに難しい、分からない、面白くない!
プログラミング言語の初心者向けの書籍の多くが難しすぎると思います。そして何よりも面白くありません。
多くの初心者向けの書籍が、「変数とは」「メソッドとは」とか延々と説明が続いて全然面白くありません。
この手の書籍を読むといつも自分は「早く何か作らせろ!」と言う気分になります。何かとんでもない量の説明書を読んでる気分になってしまいます。そして読んだ瞬間に忘れていきます。
実際に何かサンプルをつくりながらプログラミングを覚えていく方が、実践的で楽しく学習できると思います。
HTML/CSS/Javascriptがオススメな理由
テキストエディタとブラウザがあればすぐできる
HTML/CSS/Javascriptはテキストエディタとブラウザがあれば無料ですぐに始められます。(オススメのエディタはVScode、オススメのブラウザはChromeです。両方とももちろん無料。)面倒な環境設定もありません。
動作確認も作ったファイルをブラウザにドラッグ&ドロップすれば即座に確認できます。他の言語のように、開発環境の設定の煩わしさや、動作確認の面倒くささは全くありあません。
≫ Visual Studio Code(VScode)のインストール、日本語化とWeb制作向けオススメ拡張機能
HTML/CSS/JavascriptをベースにWEBサービスをつくる
HTML/CSSは初心者には非常に分かりやすい言語だと思います。Javascriptも初めてプログラミングをするには分かりやすい言語だと思います。簡単なWEBサイトであれば、早ければ1~2週間ぐらいで作れるようになります。
そこから、さらに自分の興味のある分野、作ってみたいモノによって、それにあった言語や※フレームワークを学習していくのがイイと思います。
世の名のほぼ全てWEBサイトで、HTML/CSS/Javascriptを使っています。ZOZOのようなネットショッピングサイトも、airbnbのような予約サイトも、FacebookのようなSNSも、TrelloのようなWEBアプリも、どのサイトも何らかの形でHTML/CSS/Javascriptを使っています。
上に挙げたサイトはHTML/CSS/JavascriptをベースにしてPHPや、Vue.js、React.jsなどその他の言語(※フレームワーク)などを組み合わせて作られています。
覚えなければならないことが多いように思うかもしれませんが、一度Javascriptを理解できれば、そのあとにPHPやVue.js、React.jsなどを学習する時は格段に楽になります。Javascript自体もC言語やJavaなどのプログラミング言語と比べると、格段に理解しやすいと思います。
最初は電卓アプリやおみくじアプリとか簡単なものを作ってみることを目標にするといいでしょう。電卓、おみくじはHTML/CSS/Javascriptの知識のみで作れると思います。
ちなみに、Facebookもairbnbや、日本だと価格コムなども最初は個人(ないし2人)が作った小規模なWEBサービスでした。
WEB系のプログラムだと、ネットにアップすればすぐ人に使ってもらえる状態にできるので、ユーザーの反応が得やすく、それがモチベーションにもつながります。
≫ 【超初心者向け】ゼロからのHTML/CSS勉強法【独学】
※ Vue.js、React.jsはJavascriptのフレームワークになります。フレームワークとは、すごくザックリ言うとJavascriptを使い易くした強化版のような感じです。
初心者向け書籍、学習サイトが充実
HTML/CSS/Javascriptは初心者向けの書籍、学習サイトが充実しています。
そして、どの書籍でも動画学習サイトでも、実際にWEBサイトをつくりながら学ぶ形式のものが多いので、やっていて楽しいと思います。
有名な動画学習サイトだと「ドットインストール」「Progate」「Paiza」あたりでしょうか。別に全ての動画サイトをやる必要はないと思いますが、自分にあったものを1つ、できれば2サイト試してみるとイイと思います。どのサイトも初心者向けのもので、基礎的な解説になっています。
書籍だと「1冊ですべて身につくHTML & CSSとWebデザイン入門講座」が自分的にはオススメです。評判も良いようです。
レベル的には上で挙げた動画学習サイトより、ちょっと上ぐらいの内容でしょうか。動画学習サイトで勉強した後に、この書籍を使ってみるといいでしょう。(ほかにも色々と書籍があるので、その辺は好みで試してみて下さい。)
更にレベルアップしたい人は購入型動画学習サービスの「Udemy 」を試してみもいいでしょう。「html css javascript」で検索すると沢山のコースが表示されると思います。コースごとに無料のサンプル動画が見れるので興味あるものがあれば試してみてもいいでしょう。
ちなみに「Udemy 」は1年の内3分の1ぐらいディスカウントセールをやっているので、その時に購入したほうがいいです。だいたい90%OFFぐらいで購入できます。
≫ Udemy
≫ 無料で学べる!Udemyのプログラミング学習に役立つ15講座
≫ 無料で学べる!UdemyのWEB制作に役立つ11講座
もし独学だと不安だったり、本格的に勉強したいなら「TechAcademy [テックアカデミー]」に「Webアプリケーションコース」「フロントエンドコース」「はじめてのプログラミングコース」などがあるので検討してみてもいいかもしれません。無料体験もあるようです。
-
初心者からWEBデザイナーを目指す!プログミングスクール7校比較
TechAcademy 対象コース ・フロントエンドコース ・Webデザインコース ・Webディレクションコース etc 受講期間 8週間~16週間 受講スタイル オンライン 転職支援 ・専属のキャリ ...
続きを見る
Unity(C#)がオススメな理由
ゲームづくりは楽しい
Unityはゲームを作るための開発環境でC#言語を使用します。Unityで作れるゲームはPC向けやiOS、Andoroidのスマホ向けはもちろん、Switch、PlayStation向けのゲームも作れます。その気になれば個人でSwitch向けのゲームが作れてしまいます。「ポケモンGO」なんかもUnityで作られています。
プログラムを勉強するには「作りたいモノ」があったほうがイイと書きましたが、「作りたいプログラム」と聞かれるとなかなか思いつかないと思いますが、「作りたいゲーム」なら想像しやすいと思います。
≫ Unityでつくらているゲーム12選【made by Unity】
プログラミングはあまり必要ない?
Unityは基本無料(収入が年間10万ドル以下の個人なら無料)で環境設定も比較的簡単です。
Unityはゲームを作るためのソフトで、そのプログラムはC#で記述します。
Unityでのゲーム作りは、C#をひたすら打ち込むという感じではありません。下の参考動画を見ると具体的にどうやってUnityでゲームを作るかが分かると思います。
動画を見ると、あまりC#を打っている、プログラミングをしている感じがしないのではないでしょうか。
C#でのプログラミング自体も「キャラクターを動かす」とか「敵を撃破したらスコアが加算される」とか、かなり具体的な内容をプログラムするので、イメージしやすいですしプログラミングしていて面白いと思います。
初心者本がたくさんある
Unityも初心者向けの本が多くあります。しかも多くの本が実際にサンプルのゲームを作りながら学習していく形式なので、やっていて飽きません。
自分は初心者向けの本を3冊ぐらい終えたぐらいで、初めてのゲームアプリ(クソゲーです)をiOSとAndroidでリリースしました。ゲームのリリースを目標にすると、いいモチベーションになると思います。
≫ 【2020】Unity初心者おすすめ本8冊【全て購入済み!】
≫ プログラミング未経験の私がUnityで初めて作ったアプリをリリースするまでにやった事
「Udemy 」にもUnityの学習動画があるので気になる人はチェックしてみてください。
また独学が不安な人や、本格的にUnityを学びたい人は、同様に「TechAcademy [テックアカデミー]」に「Unityコース」があるので、検討してみてもイイでしょう。
まとめ
ひとつのプログラミング言語がある程度使えるようになると、他の言語を新たに学ぶ時、格段に楽になります。
日本語(標準語)が理解できれば、関西弁を理解するためには単語や言い回しの違いを理解するだけになります。津軽弁や沖縄弁を理解するためには関西弁よりも大変かもしれませんが、基本的な日本語の構造は一緒なので理解するのは難しいことではありません。
プログラミング言語も同じように、多少の違いはあるものの基本的な構造は一緒なので、ひとつプログラミング言語理解すると、次から新たな言語を学ぶとき各段に楽になります。
その最初の一つ目に学ぶプログラミング言語で挫折しないことが大切だと思います。
プログラミング学習を挫折しないために一番大切なことは「作りたいモノがある」ことだと思います。「作りたいモノ(目標)」があれば、自分が次に何を勉強すれば分かりますし、完成させることが目標、モチベーションにもなります。
自分が「作りたいモノ」「興味あるモノ」をもつことが、プログラミング学習成功のポイントでしょう。
≫ 初心者向け!WEBサイトを作るために必要なものと勉強法
≫ Unity初心者がまず最初にやるべきオススメのチュートリアル・本
≫ クリエイターのPCのスペックはどれくらい?【Webデザイン/Unity/Blender】