この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
- プログラミングに興味がある
- プログラミングスキルを身に着けたい
- 自分でもWEBサービスを立ち上げたい
最近こういったプログラミング学習を始めたい人は増え続けています。
プログラマー需要は年々増え続け、最近では毎日のように新しいサービスが増えていますね。
話題の仮想通貨もプログラミングが生み出した産物でしょう。
そんなプログラミング業界に興味を持つ人はとても多いと思います。
しかし、残念なことにプログラミングに興味を持つ人は多くいても、そこから実際にプログラミングを学び、さらに実践レベルで習得できる人は多くありません。
日本全体で小学校教育にプログラミングを取り入れるなどの取り組みが進んでいますが、それでもプログラマー需要が減らないのは実際に習得できて仕事で使える人が少ないからです。
おそらく、これを読んでいるあなたはプログラミングについて興味があったり、初心者でも学べるのかということを気にしているのではないでしょうか?
断言しますが、プログラミングは一朝一夕で身につくスキルではありません。
まずは基礎を学び、実践に活かすことで身につけることができます。
今回は実際にほぼ独学でプログラミングを学び、さらにそれを仕事に活かしてきた僕がこれからプログラミングを学びたい初心者・入門者に向けてどういったサービスを使ったり、どんな心構えでプログラミングを学べばいいかを説明していきます。
目次
初心者がプログラミングを学ぶ前にすべきこと
まずプログラミングを学びたいならば実際に学び始める前に考えてほしいことがあります。
プログラミングは技術であり、魔法ではありません。
プログラミングができたからといって、全てのことが万能にできるようになるわけではないのです。
まずはこれを理解した上で、あなたが「なぜプログラミングを学びたいのか?」をしっかりと考えてみましょう。
作りたいサービスがあるなら
例えば、あなたが起業を志していて作りたいサービスがあるならば、プログラミングを学ぶことはあながち間違っていません。
というのはもし資金が潤沢にあったり、既に信頼できる仲間にエンジニアがいるならばその人に作ってもらうなんってこともできるはずだからです。
そうではなく自らの手でWEBサービスを作りたいのであればプログラミングを学ぶのも一つの手でしょう。
実際にライブドアを立ち上げたホリエモンこと堀江社長や、クラウドファンディングサービス「CAMPFIRE」の家入社長も凄腕のエンジニアで、起業当初は自らの手でプログラミングを行っていました。
確かにコミュニケーションや、手間を考えると自分でやった方が早いケースもありますね。
こういったケースを元にまずは本当にプログラミングが必要なのかを考えてみてください。
お金を稼ぎたいなら
お金を稼ぎたくてプログラミングを学びたい人もいると思います。
プログラミングスキルを身につければ一生モノのスキルを手にするのと同義ですし、今後どんどんITが拡大していく中で、しっかりと新しい技術についていくことができれば、将来も安泰でしょう。
実際、月50万以上で外注エンジニアを雇うような案件はざらにありますし、学生だろうが無職だろうが、プログラミングさえできるのであればいきなり大きな金額稼ぐことは難しくありません。
例えば僕の例ですと、僕は今中小企業を相手に業務効率化を図るシステムや営業改善を行うシステムの導入コンサルタントをメイン事業として行っていますが、システム自体は自分でプログラミングをし、導入後も継続して管理費用を毎月数十万円頂いています。
このように自分で事業を作ることも視野に入れるのであれば、プログラミングスキルは鬼に金棒でしょう。
なぜプログラミングを学ぶ理由を明確にするべきなのか?
さて、ここまでプログラミングを学ぶべき理由について例を出して考えてきましたが、なぜこのようなことを学ぶ前に考えるのかに関しては当然理由があります。
その理由はプログラミング学習のモチベーションにあります。
プログラミングは基本的にはひたすらパソコンとにらめっこ。エラーが出たら修正し、完成物にどんどん近づけていく作業です。
言ってみれば真っ白なパズルをゼロから作っていくイメージ。
つまり、ものによっては中々にハードなんですよね。
このような側面もあることから、プログラミングを学ぶためには折れない胆力が必要不可欠になってきます。
どうしても達成したい目標や理由を見つけ、それをモチベーションにしてプログラミングを学ばなければおそらく途中で挫折します。
プログラミングに興味がある人は多くても中々身につけることができない理由にはこういった背景もあるのです。
なんとなくでプログラミングを学びたいのであれば、あまりおすすめはできません。
それでも、もしあなたがプログラミングを学びたいという意志が強いのであればさらにこの記事を読み進めてみてください。
以下では僕がプログラミングを学ぶために読んだ本や使ったサービス、パソコンやソフトなどを徹底網羅し掲載してあります。
プログラミング入門におすすめの本
まずはプログラミング初心者におすすめな本を紹介していきます。
僕も何冊かプログラミング系の本を持っていますが、いきなり実用書や言語の本を買ってもぶっちゃけ初心者にはハードルが高いです。
実際、予備知識の無い状態で学んだ言語は習得までめちゃくちゃ時間がかかりましたが、その後しっかりプログラミングがどういったものなのかを理解してから学んだ時はスラスラ読むことができました。
今回は初心者がプログラミングを始める前、もしくは始めながら読むべき本について書いていきます。
「リーダブルコード」
プログラマーが書く、言語の羅列をコードと読みますが、このコードに関しては書き方が人によって様々です。
それでも同じようにプログラムは動くのですが、後々のことを考えるとあまりにもわかりにくい書き方はよくありません。
これはどういうことかというと、そもそもプログラミングとは出された課題をコードを書いて解決するものです。
例えば答えに「10」が欲しかった場合、「5+5」や「5×2」でも答えは同じですが、「1+1+1+1+1+1+1+1+1+1」でも答えはもちろん「10」ですね。
でも明らかに後者の計算はめんどくさい!算数さえわかればこれは誰だってわかることです。
プログラミングもこの仕組みと同じで、結果は同じでもコードで無駄を書いていることがよくあります。
この無駄は「今後そのコードを弄る人(自分も含む)」にも影響が出ますし、コードが長くなると「処理のスピード」にも影響してくるようになります。
このようないわゆる汚いコードを書かないための鉄則がこの本、リーダブルコードに書いてあります。
プログラミングを始めながらでも良いので、とにかく早いうちに読んでおくと良い一冊です。
「作りながら学ぶHTML/CSSデザインの教科書」
プログラミングを始めたばかりの人の多くが最初に学ぶ言語、HTML、CSSの教本です。
HTMLやCSSは正確にはマークアップ言語と言ってプログラミング言語とは少し違うのですが、それでも取っ掛かりとしては難易度も低いのでおすすめの言語です。
そんなプログラミング入門にうってつけの本がコチラ。基本的な概念から書き方などが細かく書いてあります。
読み進めながら作業していくと最終的には1つのサイトを作れるようになるので自分で組み上げた達成感を得ることもできるでしょう。
プログラミング学習は先の見えない長い道のりです。
サイトを作るなど、こういったわかりやすい指標があるとモチベーションも続きやすいのでぜひ購入してみてください。
プログラミング学習のモチベーションを保つには?
先ほども書いたとおり、プログラミング学習はモチベーションとの戦いです。
ある程度1つの言語を書けるようになると自信も湧いてきますが、いきなり一晩で書けるようになるほど甘くはありません。
特に難しい言語を最初に選んでしまうと中々ハードで心が折れてしまうこともあります。
パソコンの環境によってはストレスを感じることもあるでしょう。
モチベーションが崩れる要素は無数にあります。
以下ではプログラミング初心者の繊細な継続意識を持続させるために気をつけてほしいことを書いてあります。
まずは簡単な言語を学ぶ
まず大切なのはとにかく簡単な言語を選ぶということです。
プログラミング言語はそれぞれ書き方やルールが様々で最初に難しいものを選んでしまうと挫折してしまう可能性もあります。
以下ではまず最初に勉強してほしい言語を挙げてみました。
HTML&CSS
先ほども書きましたが、HTMLとCSSは正確にはプログラミング言語ではありません。
マークアップ言語というもので、この2つを使うとWEBサイトを作ることができます。
どのWEBサイトも必ずこの言語が構成要素となっていて、会員制などの複雑なWEBサイトを作る際もHTMLとCSSの知識は必須要素となってきます。
また、他の言語に比べて習得が容易なので初めてプログラミング言語を学ぶ人にもおすすめできる言語です。
Javascript
JavascriptはHTMLやCSSと並んでWEBサイトにも使用されている言語です。
具体的にはサイト上の動きや条件に応じた変化を司っています。
同時並行で学ぶとWEBサイトを色々アレンジできるのでおすすめです。
また、GoogleAppsの拡張言語としても活用されており、Javascriptを学べばgmailやGoogleスプレッドシート、Googleカレンダーなどの機能にプログラムを付与することもできます。
自分なりに便利な機能を作ったりすることも可能で、わかりやすく汎用性も高いので初心者にもおすすめです。
最低限のパソコンやソフトを揃える
もしプログラミングを学びたくても、マトモに動かないパソコンやソフトでは実際にコードを書くことができません。
学習の際にはパソコンやソフトは必須になってきますので以下でおすすめを挙げておきます。
おすすめは「Mac」
パソコンにはWindowsやMac、Linuxなど様々なOSがありますが、おすすめはMacです。
操作がとてもわかりやすく、ノートPCでもかなり色々とできるスペックが揃っている他、サポートも徹底しているのでとりあえず迷ったらMacを買っておけば間違いはないでしょう。
もちろんWindowsでも問題はありませんが、OSのトラブルや不具合などに惑わされたくないのであればMacの使用をおすすめします。
「Sublime text」や「Atom」「Coda2」などのソフトを用意
また、標準のテキストエディタを使ってコードを書くこともできますが、わかりやすさやショートカットキーなどの問題もあるのでコードを書く際は専用のソフトを使った方が良いです。
おすすめは無料であればSublime text。Atomも良いですね。
この2つのソフトは便利な拡張機能も多く、世界中の有志のプログラマーが様々なプラグインを公開しています。
有料のものであればCoda2がおすすめです。
直感的な操作且つ、わかりやすいオペレーションでストレスなくコーディングからファイルのアップロード、編集まで全てを行うことができます。
ちなみに僕は4年前からこちらのCoda2を愛用しています。
Macユーザーでお金に余裕のある人はぜひ購入してみてください。
プログラミングで詰まったらどうするか?
プログラミングはある程度理解をしたら、後はひたすら自分で考えてコードを書いていきます。
そんな時に思った通りの動作をしなかったり、変な挙動をしてしまう時。
こんな時は自分で考えるのも大切ですが、初めのうちはわかる人に聞いた方が早いです。
プログラミングはたった1文字違うだけで動作しなくなることもあり、こういった凡ミスは初心者の時ほどよくしてしまいます。
そんな時に自分でミスを見つけるのはとても時間がかかりますし、既に知っている人に頼む方が無駄な時間を消費しなくて良いですね。
とは言え、すぐにプログラミングについて聞ける環境作りは中々難しいかと思います。
実際僕も周りにすぐに頼れるプログラマーが少なかったのでとても苦戦しました。
しかし、誰でもプロのプログラマーに無料で質問できるサービスがあるんです。
それがこちらの「teratail」。僕も2年以上愛用しています。
このサービスは言ってみれば「プログラマー版のYahoo知恵袋」で、とにかくここで質問を投げれば他のプログラマーが回答を返してくれます。
驚くべきがその回答の速さ。ものの数分で解決してくれることもあるので初心者プログラマーは必ず登録すべきサービスです。
コーディング→詰まったらteratailで質問→コーディング…この流れを繰り返していけばかなり早く習得できるでしょう。
プログラミングスクールを活用する
また、プログラミング学習を本気で行うのであればプログラミングスクールを使うのも一つの手です。
今はオンラインで全て完結するプログラミングスクールや、短期間スパルタ指導、就職先斡旋、なんと無料受講まであるほど、様々なプログラミングスクールがあります。
もちろんどのスクールでもプログラミング講師がしっかりと教えてくれて、習得できるまで徹底的に面倒を見てくれます。
スクールによってはお金がかかってしまうところもありますが、条件によっては無料になることもあるので気になっている方はぜひ受講を検討してみてください。
実際、僕自身もRubyという言語を学ぶ際にプログラミングスクールを使用しましたが、完全オンラインでもしっかりと講師の方が指導してくれました。
「プログラミングスクールおすすめ17選を徹底比較!初心者を絶対悩ませない料金・内容まとめ」という記事では各プログラミングスクールの紹介をしています。気になる方は目を通してみてください。
また、「検討中のあなたへTechAcademy(テックアカデミー)を受講した感想・評判口コミレビュー」では僕が受講したプログラミングスクール「TechAcademy」のレビューを書いています。参考にどうぞ。
プログラミングを学ぶなら確実に登録すべきWEBサービス3選
さて、ここまででプログラミング初心者がまずどんな準備を整えればいいかがわかったかと思います。
ここからは実際にプログラミングを学ぶ際に併用して使う、またはメインの学習に取り入れた方がいいWEBサービスを紹介していきます。
先ほども書いたとおり、本を読んでプログラミングを学ぶのも大切ですが、初心者の方にはわかりにくいことも多いです。
以下で紹介するWEBサービスでは初心者にもわかりやすく、学びやすいものを厳選しました。
プログラミング学習の補助になるものから、教本レベルで参考になるものまでありますのであなたの学習スタイルにあったサービスを使ってみてください。
動画で学ぶ「ドットインストール」
「本を読んでも実際にパソコンをどう操作していいかわからない」
そんな人には動画でプログラミングを学べる「ドットインストール」がおすすめです。
ドットインストールでは環境構築から、それぞれの言語のルールや書き方などを3分の動画で学ぶことができます。
通勤・通学などの空き時間に予習復習するもよし。
時間が取れる日に動画を見ながらプログラミングをするのもよし。
たった3分の動画なのであなたの好きな時間に柔軟に学習を進めることができるのです。
プログラミング入門するならまずはドットインストールに登録しておきましょう。
実際にコードを書きながら学ぶ「Progate」
「言語のインストールなど、環境構築がめんどくさい!」
という人には実際にブラウザでコードを書きながら学べる「Progate」がおすすめです。
Progateでは様々な言語をスライド式の説明で学びながら、学んだ知識でそのままコードを書いていく実践スタイルの学習法を取り入れています。
実際に僕も使用してみましたが、このように様々な言語の基礎をProgateで学ぶことができました。
また、ブラウザに書いていき、コードは自動保存されながらも、課題に出ているサービスを構築できるので面倒な手間もありません。
有料のサポートコースを使えばわからない点をすぐにエンジニアに聞くことができますし、基礎を学ぶだけならプログラミングスクールよりもコスパは良いでしょう。
とは言え、Progateで学べるのはそれぞれの言語の基礎のみです。
実践レベルのものは自分で考えながらコードを書いて自作していくことになるので、Progateができたからといって実践レベルのコードが書けるわけではないので注意してください。
プログラミングのエラーを解消するには「teratail」
先ほども説明した「teratail」はプログラミング学習における最適な補助サービスです。
プログラミングでは詰まって動かなくなることが多々あります。
その際にはGoogleで調べながら解決していくわけですが、それでも全てが解決できるわけではありません。
そんな時に役立つのがこちらのteratail。
いわゆる「プログラミング版のYahoo知恵袋」で質問をすればすぐに回答が返ってきます。
teratailを上手く併用していけば実質無料で実践レベルのプログラミングを学べるので積極的に使っていきましょう。
最初だけ頑張れば次に学ぶ言語は簡単に習得できるって本当!?
プログラミングは一度感覚を掴んで習得してしまえば、別の言語に挑戦する際はとても習得がしやすくなっています。
その理由としては言語が変わると書き方のルールが変わるだけなので、根底にあるプログラミングの概念自体は変わらないからです。
諦めずに1つの言語を習得できれば、
「ああ、この言語ではあの仕組みはこういった書き方をするんだな」
と納得しながら書き進めていくことができます。
ですのでこれからプログラミングを学習する人の一番のハードルは、とにかく最初に頑張って言語を理解することです。
これさえできれば今後様々な言語を学ぶ際もある程度楽に習得できるので、とにかく初めての言語で諦めないよう気をつけてみてください。
一度挫折している人はプログラミングスクールがおすすめ
そんなわけでプログラミング初心者に向けて様々な本やサービス、心構えを解説してみました。
この記事を読みながらプログラミング学習を始めればきっとプログラミングを習得できるはずです。
参考にしながら学習を進めてください。
また、どれだけ頑張っても挫折してしまってプログラミングを学びたいのに学べないという人もいるかと思います。
実は僕自身もそんな経験があるのですが、同じような思いのある人には素直にプログラミングスクールをおすすめします。
やはり、しっかりと学習の面倒を見てくれる人がいると、それだけで学習のモチベーションが上がりますし、習得も独学より早いです。
こちらの「プログラミングスクールおすすめ17選を徹底比較!初心者を絶対悩ませない料金・内容まとめ」で紹介しているスクールはどこもおすすめですのでぜひ目を通してみてください。
また、プログラミングを学習する目的が「就職」や「転職」であれば、「就職や転職に有利なプログラミングスクールおすすめ10選!20代30代も未経験からエンジニアになれる!」で紹介しているスクールが便利です。
無料受講や全額キャッシュバック、年収400万円以上の転職保証もあるのでこちらも目を通してみてください。