初心者向けプログラミング学習の始め方【準備から学習方法・未経験からプロになるまでのプロセス】

 

プログラム言語って一言に言っても様々な用途に用いる言語に別れています。

 

プログラミング学習において一番重要なのがプログラムを学んで何を作りたいのかという事です。

 

プログラミングを学ぶ上で一番の近道にもなります。

 

まずはどんなプログラミング言語があり、それらを使って何ができるのかについてざっくりと説明し、自分が学びたい言語を習得しましょう。

 

プログラミング言語の習得に苦手意識から難しそうなどと手をつけずらいイメージがあるかもしれませんが、最短で1ヶ月、平均で見ても3~6ヶ月間あれば業務でも使えるレベルになります。

 

 

プログラミング学習の始め方の流れ

 

①プログラミング言語で何ができるのかを知る

②パソコンを用意する

③エディタを用意する

④データベースを用意する

⑤基礎学習→実践する




自分が学びたいプログラミング言語を知る

言語を知る

自分がプログラムを学ぶために何か作りたい、もしくは興味のあるIT・WEB系の仕事があるなどと思います。

 

まずは自分がどの系統の分野に興味があるのかはっきりさせましょう。

 

プログラマーを雇う職種であるシステム開発職でもITやWeb系・ゲーム関係の仕事を探している人なら1度は見たことがある『Web系』『アプリケーション系』『ゲーム系』『オープン系』『汎用系』などの役職に別れていています。

扱う言語が同じものもありますが何を作るのかの目的が違ってきますので、まずは何系の分野に興味があるのかをはっきりさせましょう。

 

最も人気であるプログラマー職として『Web系』『アプリケーション系』『ゲーム系』に分けて見て行きましょう。

 

ちなみに汎用系は銀行やクレジットカード会社など大手金融機関などのコンピューターの基幹システムの再構築する職種なため現代でこの言語を学んでも今後需要は減っていきますので今回は省きます。

オープン系は汎用機のシステムをパソコンのシステムに移行しようする流れの中で、パソコンベースでシステム開発することです。

 

プログラム言語は大きく分けで『フロントエンド言語』と『サーバーサイド言語』の2つがあります。

 

 

 

 

フロントエンド言語とは主にWeb業界でWebサイトを制作するために使われている言語です。

サーバーサイド言語はWebサイトの主にシステム関係を作成するにも必要ですが他にもアプリやゲーム開発と多様な分野で使用できる言語である。

 

それぞれの役職で特化して使うプログラム言語が違ってきます。

 

  1. Web制作(Web系・フロントエンド言語)
  2. Webサービス(SNSなど)・インターネット販売サイト(Web系・フロントエンド言語&サーバーサイド言語)
  3. アプリ制作(アプリ系・サーバーサイド言語)
  4. ゲーム制作(ゲーム系・サーバーサイド言語)

 

どのプログラミング言語で何ができるのかを知る

なにができるのか

プログラミング言語の数は200種類を超えています。

なのでオーソドックスであり企業でも取り扱われているプログラミング言語を抜粋してどんなことをするための言語なのか知りましょう。

 

 

言語を学ぶことで何ができるのか

 

HTML&CSS Webサイトが作れる・主にWebページの見た目を作成
JavaScript Webサイトに動きをつけれる・Webアプリ・スマホアプリ・ゲーム
PHP Webアプリ・ブログ(WordPressなど)・SNS・ECサイト
Java Webサイト・Webサービス(SNS)・PCアプリ・ゲーム
Python Webサービス(SNS)・アプリ
Ruby Webサイト(例:ブログやECサイト)・Webサービス(SNS・食べログなど)・スマホアプリ・ゲーム
Swift iOS(iPhoneやiPad)向けのアプリが開発できる

 

 

言語でできることで分かるようにWebサイトを作りたいのか、アプリケーションを作りたいのか、ゲームを作りたいのかでどのプログラミング言語を習得したいか分かります。

 

Webサイト・Webアプリを作りたい人が学習すべきプログラミング言語

 

  1. HTML
  2. CSS
  3. JavaScript
  4. PHP

 

WebサイトやWeb用のアプリ(ゲームでも)を作成したい場合は基本的にこの4つの言語は習得します。

はずはHTMLとCSSを学習してプログラミング言語であるJavaScriptに入ることをおすすめします。

 

他のプログラミング言語も似たようなものなので1つ覚えれば他の言語への学習の飲み込みスピードは格段に上がります。

 

HTML・CSSの学習の始め方について、お勧めの教材本を初心者向けでまとめています。

 

 

スマホアプリを作りたい人が学習すべきプログラミング言語(どれか一つでOK)

 

  1. Python
  2. Ruby
  3. Swift

 

まずはどれか一つでOKですがスマホアプリでiPhone用のものでしたらSwiftはアプリ専用の言語です。

個人的にはRubyは初心者でも扱いやすくプログラム言語としてWeb、ゲーム、アプリとかなり幅広く扱えるのでおすすめです。

 

ゲームを作りたい人が学習で選ぶべき言語(まずはどれか一つでOK)

 

  1. JavaScript
  2. Ruby
  3. Swift
  4. Unity
  5. C++
  6. C#

 

まずはどれか一つでOKですがRuby・JavaScriputが特におすすめです。

 

プログラミングに向いているPCの選び方

Computer for programming

 

WindowsかMacどっちがいいの?

 

PCについてですがWindowsかMacかのどちらのOSが良いのかとまず考えると思いますがどっちでも変わりはありません。

ぶっちゃけどっちでもお好きなほうをどうぞという事です。

 

作業効率を考えると自分が使っている馴染みのあるOSが好ましいでしょう。

または就職を考えている方で、たまに会社によってはOSの指定があります。

会社や業界調べをしてどちらのOSのPCを使っているのかで決めても良いです。

 

デスクトップとノートパソコンのメリット&デメリット

 

OSは自分の好みを選ぶとしてデスクトップかノートパソコンかどちらにするかについてですが、作業効率がいいのは圧倒的にデスクトップです。

と言いますのは画面が大きいので作業画面と、ビュー画面とを同時に見れるメリットがあるという事です。

デメリットは持ち運べないという事でしょう。

 

ノートパソコンは画面がデスクトップに比べてやはり小さいので作業画面とビュー画面を切り替えて作業するか、小さい画面内で2分するかになりますが正直なれます。

持ち運びが可能なので場所を選ばずにプログラミングを書くことができるのも最大のメリットです。

 

ちなみに私はノートパソコンで作業をしています。

元々はデスクトップで作業をしていたのですが寿命が来たので買い換えました。

最初は画面の大きさの違いにやりにくさを感じていましたが1週間で慣れました。

 

主に画面のサイズの違いによる作業効率の差はありますが、プログラミングを学ぶ上でできないことの大きな差はないのでご自身のお財布事情でPCを選びましょう。

 

パソコンのスペックの選び方

 

  1. プロセッサ:Core(TM)i7 CPU(予算がないならi5でも良いがi7の方が好ましい)
  2. 実装RAM:8GB以上
  3. ストレージ(SSD容量):256GB以上

 

以上のスペックが最低限あればPCが固まった容量が足りなくなることはなかなか起こりません。

作業するうえでストレスなく行えるパソコンスペックです。

 

PC選びの時に参考にしてください。

 

エディタをインストールする

Atom 公式サイト
おすすめのエディタ

プログラムを書くうえで必要なのがエディタと言われるソフトです。

無料のものも多くありますのでお勧めのエディタをピックアップします。

 

  1. Atom
  2. ⇒Web系のプログラミングにおすすめ・個人的に一番おすすめ
  3. インストール:https://atom.io/
  4. Sublime Text
  5. ⇒かなりマルチなエディタ(これだけ有料)
  6. インストール:http://www.sublimetext.com/3
  7. Bracket
  8. ⇒初期言語が日本語になっているので設定がかなり楽(※ブラウザはchromeからインストしてください)
  9. インストール:http://brackets.io/
  10. Xcode
  11. ⇒iOS専用のソフト・スマホアプリに最適(Macのみ)
  12. インストール:https://apps.apple.com/jp/app/xcode/id497799835?mt=12

 

※スマホでは横にスクロールします

 

エディタ ⁄  言語 HTML&CSS JavaScript PHP Java Python Ruby Swift 対応OS 日本語対応
Atom Mac/Win
Sublime Text Mac/Win
Bracket Mac/Win
Xcode Macのみ 英語のみ

 

私が使っているエディタがAtomなため使い慣れているという事もありおすすめではありますが、Sublime TextやBracetにおいても使い慣れれば損得はありません。

ただAtomとSublime Textは初期言語が英語のため日本語じゃないと困る場合は専用パッケージをインストールする必要があります。

調べればやり方がすぐ出てきますので、そこまで困りません。

 

XcodeはiPhoneアプリ開発に特化したSwiftに向いているエディタであるのでスマホのアプリ関係を作ってみたい、尚且つMacユーザーにとってはお勧めのソフトです。



データベースをダウンロードする

データベースとは自分が作ったプログラムのデータを管理し格納しておく倉庫だとひとまずは思っておいてください。

データベースを扱うのに必要なソフトについての紹介です。

 

プログラムで製作したものを形として”見る”にはサーバーと有料契約しデータベースにデーターを格納しないとできません。

 

無償のデータベースでひとまずは書いたプログラムをサーバー契約せずに視覚化しましょう。

プログラムをエディタに書いただけではただの文字の羅列にすぎませんが、それをパソコン画面に映し出すためにデータベースが必要不可欠となります。

 

おすすめの無償のデータベース

 

  1. MySQL
  2. PostgreSQL

 

他にもいろいろありますが扱いやすいデータベースがこの二つです。

私はMySQLを使用しています。

完全無償のパッケージ化されたXAMMPをインストールして立ち上げるだけで使用できます。

 

 

プログラミングの学習方法【初心者が始める事】

学び方のステップ

学習方法には2つおすすめがあります。

一つは教材を買って独学する事。

二つはオンラインプログラミングスクールを受ける事。

 

そして最後に学習で得た知識を実践しスキル化する。

これが最も重要で自分で作りたいものをプログラム言語を使って作り上げる能力試しです。

 

それぞれのステップを書いていきます。

 

本を買って独学で学ぶ

独学で学ぶ場合は教材を買った方が絶対に良いです。

というのもプログラミングのハウトゥーってネット上でも転がっていますが、自分がどんなものをどのようにしてどう作るかという事を調べて学習することは学習を始めたばかりの人にはほぼ無理です。

学習を始めたばかりの段階では何をどうしたらいいのか分からない状態で疑問や課題がまだまだあやふやです。

 

問題にまだぶち当たっていないので、疑問が出ることがないから調べることがないのです。

 

つまり分からないことが分からない状態。

 

なのでまずはプログラミングを学ぶ上で何が分からないのかを明確にする必要があり、それを教えてくれるのが教材本です。

 

ざっくりとサイト作りたいゲームを作りたいと調べるよりもまずはプログラミング言語の辞書や、プログラミングを学ぶことで何ができるのかがまとめられた教材を見ながら学習に取り組むべきです。

 

そうすればもっと的を縛れた疑問が浮かび上がってきます。

 

プログラミング用の教材の選び方

 

本の選び方ですが、プログラミングの本は逆から見ましょう

 

というのも物語系の本ではなく教材本なので、最終的に読者にどんなことができるのかを教えてくれるのがプログラミングの本です。

最後の方で何ができるようになれるのかを見て、自分がこのレベルにまで最終的に成長したいと思える本を購入しましょう。



オンラインプログラミングスクールでプロから学ぶ

私自身が6ヶ月間プロが教えるIT・WEB系のスキルをつける学校に通っていましたが、プロから教わるのはメリットが多すぎます。

 

会社で使える実務的なことをベースに教われるし、自分で考えて悩んで学ぶことを選ぶよりもプロがこのルートで学べば間違いない近道で最短の学習を授業で組んでレッスンしてくれます。

課題を多くもらえることもあり、最短最速でプログラミングのスキルが付くことは経験上間違いないと感じました。

 

独学だとどこかで今日はもうこの辺で良いかな、とか、今日はやめておこうとかと甘えが出てズルズルとやらない日が続いて結果的に購入した教材本が無駄になるなんてことも多くあります。

 

段階的にはスクールで基礎を学び必要な知識や深めたいスキルに特化した本を買う方が良いでしょう。

 

また専門学校などに通う事を思うとオンラインプログラミングスクールは破格レベルで安いです。

オンラインスクールなので自分が好きな時間、好きな日にすぐにレッスンを開始できるので忙しい人にとっては隙間時間に学ぶことが可能です。

 

おすすめのWeb向けオンラインプログラミングスクール

 

  1. TechAcademy
  2. ⇒1か月で習得可能のオンラインプログラミングスクール【無料体験/返金制度有】
  3. GEEK JOBキャンプ
  4. ⇒完全無料プログラミングスクール・転職支援が手厚く就職率が高い
  5. AKros Web & Business Design Academy
  6. ⇒就職相談をしながら適正なカリキュラムを組んでくれる
  7. TECH::CAMP
  8. ⇒未経験から最短でプロのエンジニアに/転職できなかったら全額返金保証あり
  9. エンジニア転職プロジェクト【CodeCampGATE】
  10. ⇒未経験を対象としたプログラミング教室
  11. Tech boost
  12. ⇒自分のためにカリキュラムを提案・能力に見合った課題で成長

 

私は未経験からWeb業界に就職しフロントエンドエンジニアとしてWebサイトを制作する仕事に就いていました。

 

Web業界に興味がある人は一緒に見て行ってください。

 

 

おすすめのゲーム・アプリ向けオンラインプログラミングスクール

 

  1. TechAcademy
  2. ⇒1か月で習得可能のオンラインプログラミングスクール【無料体験/返金制度有】
  3. TechAcademy【Unityコース】
  4. TechAcademy【Pythonコース】
  5. TechAcademy【iPhoneアプリコース】
  6. TechAcademy【Androidアプリコース】
  7. Tech boost
  8. ⇒自分のためにカリキュラムを提案・能力に見合った課題で成長

 

学んだことを実践する【最も重要】

以上まではプログラミング言語について知識をつける学習期間ですが、ここから覚えたスキルで作りたいものをつくることが一番重要です。

初めから高いレベルのものを作るのではなく小さな課題を1つの成果として作り上げていきましょう。

 

例えばWebサイトを作りたくてWebの知識がついた、でもどんなサイトをつくったらいいのだろう…と考えているならまずは自分が気に入った既存のサイトを模写制作することをおすすめします。

市場に出回っている成果物はプロが作っている物です。

それを見た通りに作り上げることはかなり力が付きます。

 

分からないところはその既存のサイトのコードを見る方法も学習済みでしたら知識にあるはずです。

 

自分だったらこうプログラミングするけどこの人はどんなコードを書いているのかを見て吸収することは力になります。

 

また初めのうちは本当に小さなものを作りましょう。

1週間程度でできる課題を作って自分で1週間と決めたらそれ以内に作り上げる。

 

プログラミングに終わりはありません。

作る側が欲を出せば永遠に作り続けてこだわりを詰め込むことができますが、どこかでここで終わりと終止符をつけないといけません。

少し物足りない出来だったら次の課題でその物足りなかった部分を集中的に取り組んで完成させるの繰り返しを行う実践法は現役の人でもやっています。

 

こうしていくと作りたいものがどんなものなのか明確になっていきそこに向かってまた学習を深められます。

 

世に出ている成果物、つまり普段私たちが目にしているWebサイトやアプリケーションやゲームにも納期や制作予算があります。

その中でできる事、優先すべき事を見極めて完成させる。

省けるものは省くこともしています。

 

時間を定めることは制作において優先すべきところがどこなのかの判断力にもなります。

 

学んだ事を社会で役立てる【プログラマーは転職に有利】

就職・転職に圧倒的有利

一人で何か一つのものを制作し完成できる力があれば即戦力として企業に転職は十分可能です。

 

大きなプロジェクト(課題)でなくても自分で1ページ分のサイトを作り、そのページでJavaScriptやPHPを使用してコード組んで実用的なもの。

またゲームでもバグやエラーがあってもプレイできる段階であるのならば十分である。

 

実務経験がない未経験なだけで、知識のない全くの未経験とはくらべものにはなりません。

 

私の経験談を話すとプログラミングスクールでWeb系の知識を身に付けて就職した結果、1か月で大きなプロジェクトの補佐役にあたりました。

普通だったら未経験でノースキルの人は6ヶ月間は教育に当てられてなかなか責任が持てる仕事を任されません。

補佐ではありましたが未経験だったらありえないスピードだと言われプロから学んだことの価値に感謝しましたね。

 

IT・Web業界は今後発展していく

ITやWebそしてゲーム業界は今後のぼり市場である。

プログラムの知識と実践的能力があれば生涯食べることに困らなくなることはほぼ約束されたようなものだと思います。

 

またフリーランスとしても独立しやすい職種でもあるので、自由に働きたい人にとってもおいしいです。

 

ぜひこれを期に以上のステップを元にプログラミングを身に付けてみてください。