何から学ぶ?プログラミング学習するには目標があれば覚えられる

プログラミング
この記事は 約7 分で読めます。

プログラム書ける人って凄い!そんなイメージ持っていませんか?

実は私もプログラム書ける人って天才だな!一種の才能だよね!って思っていました。

しかし、実際にプログラムが書けるようになると、『なーんだ、X(エックス)の箱に何を入れるかだけの話か。』
と言う事が分かって、一気にプログラムに対するハードルが下がったのを今でも鮮明に覚えています

プログラミング学習に独学で挑戦して過去3回挫折した私がプログラミングをマスター出来たのは、目標があったからだと今になって痛感しています。

ただ、目標があってもプログラミングの全容が分かっていない状態では、こんなサイト作りたいけど何をどうしたら良いか分からない。

何から始めたら良いの?と言う状態になってしまいます。
これからプログラミングを始めようと思っているあなたに向けた、プログラミング学習の仕方や目標の持ち方について説明したいと思います。

尚、プログラミングの必要性についてはこちらの記事が参考になると思います。
参考記事: 【300万稼いだ】我が人生最大の自己投資はプログラミングだった
参考記事: 私は33歳から!30代からのプログラミングは遅くない!【手に職を付ける】
PR

プログラミング言語の選び方

プログラミング言語の選び方は、私個人的に言えば【PHP】一択だと思っていますが、それぞれ目的があると思いますので、目的に合ったプログラミングをマスターされるのが良いと思います。

目的言語
Web系機械学習・就職Python
Web系フリーランス・就職PHP
業務系就職・アプリJAVA

Python

Pythonの言語は今流行りの【AI(機械学習)】についてのライブラリが豊富に公開されており、企業の求人募集も2017年辺りから一気に増えてきている言語です。
しかし、フリーランスを視野に入れた場合、Pythonの言語だけで独立して顧客の要望に全て答えるのは難しいかなと私は思います。

人工知能(AI)特化型プログラミングスクール Aidemy

PHP

PHPは学習の為の環境構築が簡単でMacでもWindowsでもLinuxでも簡単に環境構築が出来てレンタルサーバーを借りれば、元から環境が整っているので、学習サイトのソースをコピペしてアップロードするだけでも即座に学習が始められると言う敷居の低さがあります。
求人募集に関しても、未だに根強い人気があり募集案件も豊富です。

JAVA

JAVAはPHPより以前から主流の言語となっており、WinやMacなど環境を選ばずに動作するマルチプラットフォームの環境で動く事がメリットで、幅広い開発案件が求められています。
ただ、JAVAのモジュールのインストールから始まり、難解なオブジェクト指向プログラミングから学ぶのは敷居が高いような気がしますが、スマホアプリからゲームまでこの言語1つで幅広く対応できるのが最大のメリットです。

プログラミングを始めるに当たって敷居の低さはPHPがNo1だと思います。
1つは環境が整っている事、または容易に環境を構築できる事がその理由です。
PythonもPHPと同様プログラミング自体は高級言語なので、PHPと難易度は変わりませんが、レンタルサーバーを借りてデフォルトで対応していないレンタルサーバーもまだまだ多いのが現状です。Webプログラミングと言えばPHP と言うのは未だに顕在です。

プログラミングの基礎や文法は大体どれも同じ

プログラミングの基礎や文法は大体どれも同じ要素を持っています。

例えば

  • if文
  • Foreach文
  • While文
  • For文

上記は条件分岐(IF文)と繰り返し文(Foreach/while/for)です。
PHPでもJAVAでもRubyでもPythonでも、これらの命令文はあります。
ただ、書き方に若干の違いがあるだけで、基本はどれも同じですので、1つ言語をマスター出来れば、後は書き方の違いを吸収する事と、プログラミング言語独自の関数を覚えるだけです。

特にPHP言語は関数の数が8000語とも9000語とも言われていますが、実際に業務で使うのは80種類程度です。

もちろん、久々に使う関数に関してはリファレンスを引きながら使って行きますので8000語9000語も丸暗記する必要はありません。

つまり、より簡単で敷居の低い言語からマスターして行って、最終的にJAVAを習得すると言う流れが私的に一番良い学習の流れだと考えています。

独学でプログラミングをマスターする厳しさ

プログラミング学習で挫折する人の多くは【手を動かさない】人が挫折する人の特徴です。
実は私も過去3回、読むだけで終わってしまっていました。

本気でそれが必要だと思えなければ、いつまで経ってもプログラミングはマスター出来ない。

この言葉が全てを語っていると私は思っています。

独学でプログラミングをマスターしようと挑戦していた私ですが、一番の難関は、

分からない事があっても誰にも質問出来なかった。

この事が一番大きかったです。
身近にプログラミングについて質問出来る先輩方がいなかったからです。

Mixiでプログラミングやライブラリを公開されている方がいて色々質問責めにして見ましたが、あまりにも初歩的な質問過ぎて無視されてしまいました(苦笑

プログラミングをマスターしている人からすれば、初歩的過ぎる質問に関しては【ググれカス!】なわけです。

しかし、当時の私はググっても分からなかったし、ググるのに必要な言葉すら分からない状態でしたから、分からない事は分からないまま、もやもやした状態のままヤル気を無くしてしまったのでした。

プログラミングの全体像をつかむ事が一番の方法だと思っていたのですが、例えば $_SESSION(セッション)関数を使うに当たって、これって普通の変数と同じじゃないの?何が違うの?と言う状況だったけど、質問出来る人もおらず・・・もやもやして、解決しないままフェードアウトしてしまうと言う感じです。

私がプログラミングを勉強していたのは10年前ですから、今では知恵袋にしても技術系のQ&Aサイトにしても、聞ける所は沢山ありますが、返答のタイミングがマチマチで、質問して解決するまでに時間が掛かってしまい、その結果として、手が止まってしまって自分のリズムで勉強が進まないのが難点です。

そんな問題を解決する為にも、やっぱり最初のスタートアップだけは誰かにフォローして貰いたいと考えるのが妥当ですし、絶対にプログラミングをマスターしたいなら、プログラミング教室で学ぶのが良いのかなと思いました。

自宅で学べるプログラミング学習 オンラインブートキャンプ

プログラミングの学習方法と効率

プログラミング学習でプログラミングをマスターするには、やっぱり【何が作りたい】と言う目標があった方が絶対に効率良く覚える事が出来ます。

例えば・・・ログインシステムが必要な会員制サイトを作りたい!となった場合は。

  1. ログイン → IDとパスワードの入力窓が必要
  2. フォーム送信 → IDとパスワードに入力された内容をプログラムで受け取る仕組みが必要
  3. IDとパスワードが、登録時のモノと合致しているか確認 → 合致していればログイン完了

簡単に言えば、ログインに構造だけでこれだけの物が必要で、ログインについて学んだり、フォーム送信(POSTかGET)について学ぶ必要がある。

何を学ぶ必要があるのか?

と言う所が明確になっていれば自分に対するモチベーションの上がり方が全然違います。
自分が欲しいシステムを自分で作る為に学ぶと言うスタイルがプログラミングをマスターするには最も効率の良い方法だと思います。

なので、まずは自分が作りたいサービスを考える所から初めて、プログラミングを学習すると言う流れが一番です。

TECH::CAMPは、あなたが作りたいサービスをプログラミング講師と一緒に作って覚えるスクールです。
ゼロから始めて、アプリやWebサービスをリリースする所まで、しっかり教えてくれるのが強みです。
スクールも、東京:渋谷 大阪:北区 にあってスクールに通いたい人にはうってつけです。
オンライン学習コースもあるので、本気でプログラミングを学びたい方はスタートダッシュとして時短に繋がります。

TECH::CAMP エンジニアスクール

コメント

トップへ戻る