プログラミングは独学できるの?初心者がIT業界を目指す方法とは

プログラミングは独学できるの?初心者がIT業界を目指す方法
スポンサードリンク

「プログラミングを学びたい」「ウェブ開発ができるようになりたい」「スマホアプリを作れるようになりたい」という方の中には、プログラミングスクールに通うことなく、自分で独学したいと考えている人も多いはずです。

そこで今回は、プログラミング初心者の方向けに、プログラミングを独学するための方法や注意点、活用すべき学習サービスや効果的な勉強のコツをまとめて解説していきます。

また、プログラマーやエンジニアとして働き始めることを考えている方向けに、仕事や収入に繋げる話や、転職方法についても解説しています。

これからIT・Web業界でキャリアを始めたい方は、ぜひ今回の記事を参考にしてください。

独学方法よりも転職方法が知りたい方は、下記記事より未経験転職の方法を参考にしてください!プログラミングが分からなくてもITへの転職は可能です!

おすすめ記事:「SE・ITエンジニア」におすすめの転職エージェント・サイトTOP5!

「SE・ITエンジニア」におすすめの転職エージェント・サイトTOP5!

2017.05.11

プログラミングを勉強したい?まずはじめに知っておくべき基礎知識

プログラミングを独学したい?まずはじめに知っておくべき基礎知識

「プログラム言語を学びたい」「プログラミングができるようになりたい」と考えている方は、近年特に増えてきています。

そのため、効果的な勉強法や学習サービス、プログラミングスクールなど勉強する環境は整いつつあります。

また、仕事を受注できるクラウドソーシングなど、ITの知識を活かした働き方も柔軟にできるようになりつつあります。

あなたも、近い将来プログラマーを目指したいと考えている方の一人だと思います。

どんな形で勉強するのであれ、まず学ぶべきことは「プログラミングとは何か?」ということ。どんなものでも、最初に全体像をつかむことが大切ですよね。

また、プログラミング学習を始めるにあたって注意すべきポイントもあるので、まずは下記の基礎知識を参考にしてください。

プログラミング(言語)とは?

「プログラミング」とはどのような意味なのでしょうか?

端的に説明すると、プログラミングとは、コンピュータ(PC、パソコン)に対する指示書のようなもの。

たとえば、人に何か依頼をするときは、言葉でやるべきことと順序を伝えて、適切な形で依頼したことを相手ができるように伝えます。場合によっては言葉を文章にして伝えることもあるでしょう。

それと同じように、コンピュータに対して依頼をする場合には、コンピュータに合わせた言葉で指示を出す必要があります。その言葉こそが「プログラミング言語」なのです。

コンピュータは単純作業の効率化や自動化が得意ですが、それを順序立ててより便利するための技術が、プログラミングであるといえます。

たとえば、あなたがいつも使っているアプリやインターネットで利用するWebサイト、そしてゲームまで、ありとあらゆるものの背景には、プログラミングとそれを行った技術者(プログラマー、エンジニア)がいます。

プログラミングを独学するための準備物

プログラミングを実際に始めるためには、最低限PC(パソコン)があれば良いです。

独学で学ぶ場合には、書籍などが人によっては必要な場合もありますが、書籍ではなくWeb上にある学習サービスだけを利用する方法もあります。(後述します)

PC選びで悩む一番のポイントは「Windows」「Mac」のどちらのOSのものを選ぶべきか?ということではないでしょうか。

プログラミングはWindowsでもMacでも可能ですが、OSごとにキーボードの文字入力や基本操作が少し異なったり、学習する際の解説記事・解説本でOSに対応しているものを参照する必要があるため、慎重に選ぶべきです。

それぞれのメリット・デメリットを表で簡単にまとめています。

メリット デメリット
Windows ・ほとんどの人が持っているため準備が楽。
・Windowsアプリケーションの作成がしやすい。
・ゲームプログラミングがやりやすい。
・Windowsだと解説記事や解説本に知りたい情報が乗っていないことが多い。
・iPhoneアプリを作成するためのIDE「Xcode」が利用できない。
Mac ・操作性や安定性に優れている。
・Macを前提にして解説している記事や解説本が多く初心者に優しい。
・WindowsOSをインストールすることができる。
・iOS(iPhone)のアプリ開発ができる。
・UNIXベースである。
・Macを持っていない場合には新たに買う必要がある。
・使い慣れていないと基本操作が最初難しい。
・ゲームなどで使う人には向いていない。

 

主にWindowsとMacのそれぞれのメリット・デメリットをプログラミングに関係する部分から解説してまとめました。

すでにWindowsPCを持っており、とにかくプログラミングを学習したい人や、iPhoneアプリを作る予定はない人はWindowsでも構いません。

しかし、本格的にプログラミングを始めるのであればMacを新調することをおすすめします。

「なぜプログラミングをしたいのか?」を明確にする

プログラミング学習を始める際、早い段階で考えておくべきなのが「なぜプログラミングをしたいのか?」ということに、自分自身で明確な答えを持っておくことです。

たとえば、プログラミング学習を受験勉強に置き換えてみると分かりやすいです。

受験勉強では、「○月○日のセンター試験で○○○点以上を獲得する」という目標を掲げて、勉強の計画を立てますよね。

具体的な目標を掲げることで、「今の時点で何をするべきか?」がハッキリ分かり、限られた期間で最も効果的な勉強ができるように計画を立てることができ、結果として良い成果を生むことができます。

プログラミング学習も同様で、「何のためにプログラミングを学ぶのか?」を決めておかないと、モチベーションが続きませんし、勉強自体に対する楽しさが続きません。

実際に難しい学習内容を初める前に、下記の「プログラミングを独学するための4段階のフェーズ」をよく読み、段階を踏まえた独学ができるよう、準備しておきましょう。

 

プログラミングを独学するための4段階のフェーズ

プログラミングを独学するための4段階のフェーズ

プログラミングの独学を始めるための前提となる基礎知識については、すでに学んできました。

ここでは、実際にプログラミング学習を始めるにあたって、必ず踏まえておきたい4段階のフェーズを解説していきます。

  1. フェーズ1:作りたいものや学びたい技術を決定する。
  2. フェーズ2:学ぶべきプログラミング言語を決める。
  3. フェーズ3:開発するための環境を整える。
  4. フェーズ4:実際に言語を独学する。

以下で詳細を解説していきます。

フェーズ1:作りたいものや学びたい技術を決定する

プログラミング学習の一番のコツは、「作りたいもの」「学びたい技術」のどちらかを明確にすることです。

作りたいもの・学びたい技術の具体例

  • 作りたいもの⇒体重を記録できるアプリを作りたい!
  • 学びたい技術⇒Twitterのようなタイムライン形式のSNSを作りたい!

反対に、何も作りたいものがないのにプログラミング学習をすることは、手段と目的がハッキリ分かれていないため、学習を続けることが難しくなります。また、限度がなくなってしまいます。

まずは、作りたいもの・学びたい技術を明確にすることから始めましょう。

できれば、「少し高すぎるのではないか?」と思えるほど理想の高いアプリやサービスを目標に掲げることが良いです。

そうすることで、より広く、学びがいのある学習範囲を見定めることができるようになります。

 

フェーズ2:学ぶべきプログラミング言語を決める

プログラミング言語を独学で学びたいと考えている方の中には、言語の違いや活用できる事例について、まだ深く学んだことのある人が少ないかもしれません。

プログラミング言語と言っても、その種類には数百種類とたくさんのものがあります。しかし、そのうち実際に現場で活用されている技術はほんの一握りです。

そのため、世の中で使われている言語を優先的に選ぶことが大切です。

また、言語によって作れるもの・向いているものがあります。

たとえば、「Swiftという言語はiOSアプリやMacアプリを作成することができる」といったものです。

下記では、大まかに3つのプラットフォームに分けて代表的な言語をご紹介しています。

Swift Java Ruby on Rails
作れるもの iOSアプリ
Macアプリ
Webアプリ
など
Androidアプリ
Webサイト
Webサービス
デスクトップアプリ
その他システム
Webアプリ
Webサイト
API
事例 App Storeで提供されているアプリケーション全般 Androidアプリ クックパッド
食べログ
Hulu
概要 2014年に発表されたApple製のプログラミング言語 1995年発表のSunMicrosystems製プログラミング言語 プログラミング言語Rubyで構築されたWebアプリ開発プラットフォーム

上記の表では、「iPhoneアプリを作る=Swift」「Androidアプリを作る=Java」「WebサイトorWeb Servicesを作る=Ruby(Ruby on Rails)」という区別でご紹介しています。

ただし、下記のプログラミング言語学習サービスの「Progate」でもレッスンが分けられているように、同じものを作るうえで学ぶべき言語や、選べる言語は多数あります。

引用:https://prog-8.com/

引用:https://prog-8.com/

そのため、一度作りたいものを決めてから、必要な言語を選ぶのが良いでしょう。

下記では、「Swift」「Java」「Ruby(Ruby on Rails)」の3つの言語にしぼって、プログラミング言語の解説をしています。

 

Swift|iPhoneアプリを作成する

Swift|iPhoneアプリを作成する

引用:https://www.apple.com/jp/swift/

「Swift」は、2014年にApple社が開発したプログラミング言語です。

Swiftが登場する2014年以前は、Apple系製品のソフトウェア開発は「Objective-C」という言語が一般的に使用されていました。

Objective-Cは扱いにくく初学者にとってハードルが高い言語でしたが、Swiftはシンプルなコードとなりかなり学びやすく、開発がしやすい言語になっています。

iOS(iPhone)アプリは、国内でも優先して開発されることが多く、開発者から見ても高品質なアプリケーションを作成する必要があるため、Swiftで開発できるエンジニアの需要は今後も高まると予想されます。

 

Java|Androidアプリを作成する

Java|Androidアプリを作成する

引用:https://www.java.com/

1995年にSun Microsystemsによってリリースされたプログラミング言語・開発プラットフォームであるJavaは、もともとWebページ上での使用を想定したリリースされた言語になります。

しかし、あらゆるOSで動作し汎用性が高い言語という理由で、Androidアプリの制作にも活用されています。

汎用性が高い理由は、Javaの性質にあります。Javaでは、プログラムコードをOSに関係なく実行できるように、「JVM(Java Virtual Machine)」と呼ばれる仮想マシンで動作します。

古くから使われているため古いシステムなどで利用されることが多く、メンテナンスなども含めた現場で利用される頻度はまだまだ高いです。

ただし、2017年にはGoogleにより、Android開発言語に「Kotlin」と呼ばれる言語が正式に追加されることが決定したことで、Androidアプリに関して言えば、Javaでなくとも制作することができるようになりました。

Androidアプリエンジニアを目指す方は、Kotlinを学んでおくと、今後の開発現場で需要が高まるため、年収アップや待遇の良い条件で転職できる可能性が高いです。

しかし、Javaに比べて参考資料や勉強方法として選択できる幅が狭い点が難点でしょう。

 

HTML/CSS・Ruby(Ruby on Rails)|Webサービスを作成する

HTML/CSS・Ruby(Ruby on Rails)|Webサービスを作成する

出典:https://www.ruby-lang.org/ja/

WebサービスやWebサイトを作成する際に必要な知識は、「HTML/CSS」というマークアップ言語と呼ばれるものに加えて、PHPやRubyなどのプログラミング言語を利用する必要があります。

現在は、HTML/CSS(マークアップ言語)+Ruby(スクリプト言語)でWebサービスを作成することが増えてきており、個人でも独自のサービスをリリースする方が数多く出てきています。

この3つの言語について、簡単にまとめると下記のようになります。

  • HTML⇒Webページの内容を記述するための言語
  • CSS⇒文章の構造や情報を装飾(色・サイズ・配置など)するための言語
  • Ruby⇒Webアプリの機能を作成するプログラミング言語
  • Ruby on Rails⇒HTMLやRubyを使ってWebアプリを作成するフレームワーク(つけたい機能のカタログのようなもの)

Ruby以外にもWebアプリの作成ができる言語はPHPなどが挙げられます。

ただ、RubyやRuby on Railsを活用したWebアプリ作成は初学者にも学びやすいと言われることが多いため、ここで代表的なものとしてご紹介しています。

 

フェーズ3:開発するための環境を整える

プログラミング言語は、パソコンの初期状態では記述しても動かすことができません。そのため、プログラミング言語が動く環境づくりを最初に行う必要があります。

たとえば、英会話を学びたい人は、英語学習でも英単語集や問題集、リスニング教材などをセットで揃えるだけでなく、ネイティブスピーカーや英会話ができる相手を見つけることが必要ですよね。

それと同じように、プログラミング学習やソフトウェア開発でも、プログラミング言語の様々な知識を学ぶ教材を揃えるだけではなく、目的の言語を動作させるための環境が必要になります。

環境を整えるためには、「IDE(統合開発環境)」と呼ばれる、ソフトウェア開発に必要な機能が揃っているツールを活用します。

入門書や独学で活用できる記事などでは、環境構築のやり方や手法について様々な経験者が情報を共有してくれています。

自分の環境と同じ情報を提供してくれる人の記事などを参考に、環境構築をしていきましょう。

下記では、「iPhoneアプリ」「Androidアプリ」「Webアプリ」を作成する人に向けて、活用すべき開発環境をご紹介しています。

 

Xcode|iPhoneアプリを作成する

Xcode(iPhoneアプリを作成する)

引用:https://developer.apple.com/jp/xcode/

「Xcode」は、Apple社が提供するiOSなどのソフトウェア開発に特化した統合開発環境として多くの開発者に利用されています。

SwiftでiOSアプリを開発できるのはMacだけと記事冒頭で解説しましたが、具体的には「Xcode」を使用できるのがMacだけであるという意味です。

 

Android Studio(Androidアプリを作成する)

Android Studio(Androidアプリを作成する)

引用:https://developer.android.com/studio/index.html

Googleが提供する統合開発環境が「Android Studio」です。iOSアプリ開発が「Xcode」であるのと同じように、Androidアプリ開発をするときに使うことになる統合開発環境です。

 

Sublime Text(Webサービスを作成する)

Sublime Text(Webサービスを作成する)

引用:https://www.sublimetext.com/

Webアプリ作成では、最初からパソコンに入っているテキストエディタさえあれば開発することが可能ですが、入力補完やプラグインなどの便利な機能を使って開発を進めたほうが効率的です。

よく利用されているテキストエディタには、「Sublime Text」と呼ばれるエディタです。

また、Webアプリは作成しながらWebブラウザで確認する必要がありますが、「Google Chrome」以外にも、「Safari」「Firefox」などを利用するとデバッグ用の開発メニューが利用できます。

必要になったらインストールすると良いでしょう。

 

フェーズ4:実際に言語を独学する

独学でプログラミング言語を学ぶ場合には、下記でご紹介している書籍や学習できるWebサービスを利用して勉強を進めていきます。

ただ、書籍や学習サイトを利用して勉強していく場合でも、ただ知識や書き方を学ぶだけではなく、「実際に手を動かしてコードを書いてみる」ことが重要です。

プログラミング言語は、ひとつひとつの知識を実際に動かしてみることが非常に重要で、「できる」という感覚を積み重ねていくことがモチベーションアップに繋がります。

また、一度に完ぺきに知ろうとせず、大枠やコードの書き方の基本をざっくりおさえ、もう一度復習するなど、振り返り前提の独学が良いでしょう。


ここまで、「プログラミングを独学するための4段階のフェーズ」を解説してきました。

独学するためには、最初にやるべきことにバラバラのタイミングで着手するのではなく、順序立てて一つ一つの準備を丁寧にこなすことが必要です。

下記からは、プログラミングを独学するためにやるべきことをさらに解説していきますが、実際に学び始める前に、この記事を読んだ後実際に学び始める前に、もう一度この4つの段階を振り返ってみてくださいね。

 

プログラミングを独学する前に決めておくべき「期間」「目標」

プログラミングを独学する前に決めておくべき「期間」「目標」

ここでは、独学を始めるときに決めておくべき「時間(期限)」と「目標」について、具体例を交えながら解説していきます。

プログラミング言語初心者にとって、目標や期限を決めるのはとてもむずかしいことです。

学んだことがないのに、「どのくらいの時間がかかるのか?」「どんなものを作る予定なのか?」を決めるなんてできない…と感じる人もいることでしょう。

しかし、一定のポイントをおさえれば、まだ独学を始めていない人でも時間と目標を決めることは可能です。

そして、時間と目標を決めれば、その分効率的にプログラミング言語を学びやすくなります。

勉強するための時間の決め方は?

勉強するための時間の決め方には、様々な学習者や経験者が目安時間を公開してくれています。

そのため、やみくもに自分で何となく期限や時間を決めてしまうよりも、作りたいものにかかる時間から想定して学習時間を決めると良いでしょう。

あくまでも目安ですが、電卓アプリや日記アプリなど、機能が単純で簡単なものであれば、学び始めてから作れるようになるまで約300時間くらいになると思います。

さきほど解説した通り、まず作りたいものを明確にし、その上でどのくらいの学習時間・製作時間がかかるのかを調べてみましょう。

作りたいもの・学びたい技術の具体例

  • 作りたいもの⇒体重を記録できるアプリを作りたい!
  • 学びたい技術⇒Twitterのようなタイムライン形式のSNSを作りたい!

プログラミング言語の独学においては、ある程度の目安となる期限・時間を決めておくことが非常に重要です。

ただし、具体的な学習方法や学ぶ範囲によって、実際に作れるようになるまでのスピードはかなり変化するため、自分のペースで継続的に独学することを優先しましょう。

下記では、独学を始める際に活用したい学習サービスや書籍の選び方をご紹介しています。

スポンサードリンク