プログラミングを学んでみたい。この記事にたどりついている皆さんは、きっとそう思っていることでしょう。
「初心者で何から始めていいかわからない」
「どうやって勉強すればいいのかな?」
こんなお声をたくさん聴きます。
IT技術者不足が叫ばれる昨今、プログラミングは社会人に必要なスキルだとも言われています。
本記事では、現役エンジニアであり、プログラミングスクールで日々教えている私が、プログラミングを学びたい皆さんに、プログラミングを学ぶためには何から始めればよいのか。独学のステップについて解説します。
プログラミング言語とは
まずはこの3つを知りましょう
- そもそもプログラミングってなに?
- プログラミング言語とは?
- プログラミング言語の種類を知ろう
そもそもプログラミングってなに?
「プログラミング」ってよく聞くけど、そもそもが良くわからないですよね。
一言で説明すると、プログラミングとは、「機械に何かをしてもらうために指示を出すこと」です。
なぁんだ、そんなことか。と思われたかもしれません。
でもちょっと待ってください。機械にどうやって指示をだすんでしょうか?
プログラミング言語とは
実は、コンピュータは人間の言葉を理解できません。
指示は機械語で出す必要があるんです。
人間の言葉を機械語に翻訳してくれるのがプログラミング言語です。
プログラミング言語の種類を知ろう
プログラミング言語は人間の言葉を機械語に翻訳してくれると言いましたが、翻訳する方法はたくさんあります。
例えば、日本語を英語に翻訳するなら、Web上では、「Google翻訳」や「DeepL」が有名です。また実機では「ポケトーク」も多くの人が知っていますよね。
日本語を英語にする方法がたくさんあるように、人間の言葉を機械語に翻訳する方法もたくさんあります。
プログラミング独学のステップ
まずは何をしたいのか決めましょう。
- ゲームを作りたい⇒C#、Unity
- モバイルアプリを作りたい⇒Kotlin、Swift
- Webアプリケーションを作りたい⇒Ruby、PHP、Java、JavaScript
- AIを使ったアプリを作りたい⇒Python
- IoTのシステムを作りたい⇒C言語
- ウェブページを作りたい⇒HTML、CSS
おおまかに分けるとこのような分類になります。
自分が作りたいものから言語を選んでみましょう。
私がおススメするのは、ブロックプログラミングで、アルゴリズムの制御と論理的思考を身につけてから言語に入る方法です。Scratchやプロゼミなどが有名です。
独学に必要なものを揃えよう
プログラミング言語を選択したら、まずは準備が必要です。
- プログラミングができるパソコン
- インターネット環境
- 入門書や配信サービスなどの教材
- 言語に必要な開発環境
古い書籍だと、開発環境がダウンロード時と違うこともあります。開発環境を揃えるにはプロでも一苦労することがあります。
そんなときは、開発環境を使用せずに学習する「paiza.IO」や、「Progate」などのオンライン学習サービスを利用するのもひとつの手でしょう。
また、Udemy などのe-ラーニングを利用してみることもおススメです。Udemyは教材の発行者がQAに答えてくれることがほとんどであるため、開発環境やエラーに困った時も質問をするとほとんど解決できます。
初心者におすすめの学習方法
書籍で学ぶ
書籍は優秀な教材のひとつです。体系的に読み進めるうちに理解できるようになっている本がほとんどで、最後まで読み切るとある程度の知識がついてるようになるでしょう。
注意しなければいけないのは、プロでも、言語が違えば、書籍を買って勉強します。プログラミング言語を知っていることを前提として書かれた本は難解で、カタカナ語が入り乱れ、1ページ読むだけで挫折してしまうかもしれません。
書籍を買うときには「入門」や「初めての」「初心者」などがタイトルについている書籍を選びましょう。
また、レビューや評価にも目を通してください。極端に評価が低かったり、辛辣なレビューが並ぶような書籍であれば、別の書籍を選択した方がよいかもしれません。
オンライン学習サービスを利用する
「Progate」が有名です。
Progateは穴埋めになっていたり、設問⇒回答⇒答え合わせ のように1人でサクサクとこなしていけるクイズ形式になっているので、プログラミングの雰囲気を掴むのにはちょうどよいでしょう。
ある程度、言語のイメージが掴めてから、次の教材に移行するのもひとつの手です。
動画学習サービスを利用する
Udemy が有名です。
たくさんの講座の中から、自分に合った講座を受講してみましょう。
わからないところや、詰まってしまったときには、QA機能を使って講師に質問することができる講座もあります。
一人で悩んでしまうことがないので、とても有益な学習方法のひとつです。
私自身、新しい技術の習得にはUdemyの講座を購入して学んでいます。
動画学習のメリットは、空き時間ができた時にサクッと学べることができるので、習得にはとても良いと思います。
初心者が失敗するパターン
プログラミングは初学者の9割が挫折すると言われています。
初心者がやってしまいがちな3つのパターンをあげてみました。
最初から難しいものにチャレンジする
難しすぎてわからない。教材に書いてあることが理解できない。そんな状態に陥っていませんか?もしそうなら、その教材はあなたには難しすぎます。
特に独習するときには、エラーや理解できないところでつまづいてしまって、誰にも聞けない、調べてもわからない。もういやだ!となりがちです。
そうならない学習方法を選択することが、プログラミング言語習得への第一歩です。
まずは、背伸びせずに、理解できる教材を選ぶ。それが、学習の第一歩です
テキスト通りに写して終わり
テキストに書いてある通りにコーディングを行って動いた!やった~。
これでは、全く習得にはなりません。なぜなら、今作った技術は身についていないからです。
上手く動いたら、少しずつ触ってみましょう。動くものを取っておきたい場合は、コピーを取っておくと良いでしょう。
少しずつ触って、壊れてもいいんです。こう触ると、こう動く、こんな風に書くとこう動くんだ。ということを自身の脳で体感してください。
プログラミングは手を動かして、脳を使うことでしか習得できません。
決して写して終わりにしませんように。
トラブルが解決できずに諦める
プログラミングにトラブルはつきものです。トラブルが起きた時は、まず冷静になって、エラーの内容を確認しましょう。
どんなプロであっても、プログラミングにトラブルが起きるのは日常です。
トラブルが起きても慌てず、これも成長できる機会だと捉えて前向きに取り組みましょう。
どうしても解決ずに挫折しそうになったら・・・次に解決策を書きました。
挫折しそうになったら
誰かに聞く
まずは、Googleで困っていることを検索します。
エラーが出ているなら、言語+エラーの文言を一字一句すべてコピーして検索します。
個別のファイル名やディレクトリ名があるときはそこにはスペースを入れましょう。
それでもだめならQAサイトを利用しましょう。
Teratailやスタック・オーバーフローはエンジニアに特化しているのでお勧めです。
質問するときは、
- 言語やフレームワーク、IDE、と各バージョン
例)言語:PHP7.4 Laravel8、VisualStudioCode Ver1.62.2 - 環境(OSやCPUなど)
例)Windows10Pro AMDXXXX - 何の作業をしているのか(作っているもの、こと)
「HelloWorld」という文字を画面に表示させたい - 起こっている現象や、エラーの内容
Notice: Undefined variable: (name) というエラーが発生している - 書いているコード
<?php
echo $a;
最低限、これだけは記載しましょう。そうすることで、回答率もあがりますし、ほしい回答が得られるようになります。
つまづいたら、ぜひ利用してみましょう。
プログラミングスクールも検討する
プログラミングスクールは学習が容易に深まるように順序だてて作られたカリキュラムと、講師やメンターなどのプロがいます。
独学でどうしても行き詰ってしまったら、プログラミングスクールを利用することも検討しましょう。
最近では、オンラインスクール等もありますので、お仕事からの時間帯でも通えるスクールがたくさんあります。
プログラミングスクールは無料体験が可能です。
ぜひ無料体験をしてみて、通い続けられるかどうかを試してみましょう。
最後に
プログラミングは初学者の9割が挫折する。と聞いて、「そんなに難しいのか!」と驚かれたかもしれません。ですが、私が見ている限りでは、正しいステップを踏めない人が9割なんです。
誰でも「初めて」の時は簡単なことから始めて、ステップアップしますよね?
ジョギングだって、いきなりフルマラソンを4時間台で完走できる人はほとんどいません。プログラミングも長距離走と同じです。ひとつひとつ手を動かし、しっかりと丁寧に身につけていきながら習得していくものです。
プログラミングができるようになると、世界中に自分のアプリやオリジナルのサービスを公開することができます。また、プログラマーやシステムエンジニアとしてキャリアチェンジできるチャンスも生まれます。
もし、職業にしないのであっても、これからのインターネットで世界が動く時代にいる私たちは、プログラミングを習得しておくことで多くのチャンスを生み出します。
ぜひ、皆さんもトライしてみてください。