テクノロジー
プログラミング入門完全版!初心者が基礎から独学で勉強する方法

<公開日:2016年12月1日>
<更新日:2018年10月29日>

プログラミングを独学してみようと思って本を買ってみたものの、さっぱりわからない。何がわからないかもわからない。

そんな人も多いのではないでしょうか。 それは、勉強する前に知らないといけないことや、知っておくとかなりスムーズに勉強が進むであろうことがたくさんあるからです。

そこで今回はプログラミング初心者の方でも独学でプログラミングをスムーズに学ぶことができる手順・期間、そして、プログラミングを学ぶ上で立ちはだかる壁の乗り越え方を、テクノロジースクールTECH::CAMPを運営する株式会社divのエンジニアがご紹介します。

無料プログラミング体験会へ

プログラミングを学ぶ前に知っておくべきこと

そもそもプログラミングとはなにか、きちんと説明できるでしょうか。または、とにもかくにも形から、ということで、PCの購入を考えている方もいるかもしれません。どちらの場合でも、まず学習を始める前に下記の章で基本知識をおさえましょう。

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

プログラミングとは、コンピューターにしてほしい仕事を順番に書き出した指示書のようなモノです。

コンピューターは人間と同じ言葉を理解することはできないため、専用の言語=プログラミング言語を用いて指示を与えます(プログラミング言語を記述していくことを「コーディング」と呼びます)。

このプログラミング言語は200種類以上あると言われていますが、実際に使われることが多いのはこの10分の1程度です。

プログラミングは、単純な作業の高速処理や自動処理を得意としています。私達の生活を豊かにしているもののほとんどが、プログラミングによるものだと言っても過言ではありません。

LINE・Twitter・Facebook等のスマートフォンでの利用率が高いアプリケーションや、あらゆる機種のゲームは、プログラミングで作ることができます。また、仕事面で言えば、エクセルでの面倒な作業や、ツール同士の連携などを自動化することも可能です。

このように、プログラミングは私達の便利な生活を支えています

初心者でもプログラミングの独学(独習)は可能!

「プログラミングに興味がある。けれど、初心者や未経験者には難しそう……」

「いきなりお金をかけてプログラミングスクールに通うよりは、まずは独学してみたい」

「独学とプログラミングスクールでの受講、どっちがいいのだろう?」

プログラミングを初めて学ぶ上で、こうした疑問を持つ方も多いでしょう。

結論から言えば、初心者でもプログラミングスキルを独学で身につけることは可能です!

独学を始める前に大事なことは「パソコンの準備」と「学習時間の確保」です。それぞれ詳しく解説します!

独学するならまずはPC(パソコン)を用意しよう – プログラミング学習には Windows か Mac どちらが良いのか

programing300時間の学習には、まずはパソコンが必要です。

プログラミングを勉強するにはPCが必要ですが、やはりどの機種が向いているかは気になりますよね。

そこでよく比較されるのが、WindowsとMacです。プログラミングにより向いているOSはWindowsなのでしょうか、Macなのでしょうか。

プログラミングにはMacがおすすめ!

結論から言いますと、プログラミングにはMacをおすすめします。

今からパソコンを新調しようと考えている方は、Macを購入すると良いでしょう。もちろん、既にWindows OS搭載のPCを持っている場合は無理してMacを購入する必要はありません。

ただし、iOS向けアプリ(iPhoneアプリ)開発を行う場合は、Macが必須です。

さらにMacのメリットについて知りたい方は、以下の記事をご覧ください。この記事ではMacを選ぶメリットや、安く購入する方法についてさらに詳しくまとめています。

プログラミングするならMacを選ぼう!メリットや安く買う方法を解説

300時間あればアプリを作れる!

英語を習得するには、最低1000時間はかかると言われています。プログラミング学習では、ほとんどの場合それより少なくて済むでしょう。

なぜなら、プログラミングの場合はIDE(プログラミングの統合開発環境)が命令を記憶しており、数文字打つだけで候補の命令がピックアップされるので、作業効率が高いです。

また、英語に比べると文法はとても簡単です。学生時代に英語を勉強してきた経験があれば、すぐに慣れるでしょう。

じゃんけんゲームなどの簡単なプログラムであれば数時間、習作であれば数十時間で作成できるようになります。

どのプラットフォームでも、言語を学んで最初の実用的なアプリを作れるようになるまでの時間は300時間程度。1日10時間勉強するとして、最低でも1ヶ月の学習が必要です。

短期間の独学でスキルを身につけたい方は、まず「300時間の学習時間を確保するのに、どれだけの日数が必要か」を考えてみると良いでしょう。

作りたいサービス別 目安学習時間とロードマップ

こんなサービスであれば、このくらいの時間で作成できるという目安をご紹介します。あくまで目安ですので、勉強方法やペースによって時間は変わります。

電卓

電卓アプリの場合は変数の扱い方、算術演算のやり方、値の入力・出力方法をといった基本的な知識が理解できれば作成可能です。

12時間程度で、整数の四則演算ができる電卓を作れるでしょう。

ToDoアプリ

ToDoアプリの場合は、電卓アプリで必要な学習事項に加えて、変数の内容をプログラムが終了しても保存できる仕組みの理解が必要です。

また、デザイン(UI)もToDoアプリらしくする必要があるので、おおよそ24~36時間ほどかかるでしょう。

Web掲示板

Web掲示板の作成には、最低でも240時間以上はかかるでしょう。

Webアプリケーション開発の場合は、ToDoアプリの応用で作成可能です。iOSやAndroidアプリとして作る場合は、サーバー側のプログラムやデータベースの用意が必要です。

ここで紹介した学習時間の目安は、あくまで「参考」にすぎません。効率よく学習すれば、もっと学習期間は短くて済みますし、学習方法が間違っていればどこかのステップで詰まって先に進めなくなります。

「せっかく勉強したのに途中でわからなくなって挫折した」

そんな事態を防ぐためには、学習の4つのステップを守りましょう。プログラミング学習の4ステップを続けて解説します!

プログラミングを学ぶための4つのステップ

オススメするプログラミングを学ぶ手順は次の通りです。

  • ステップ1: 作りたいものを決める
  • ステップ2: 学ぶべき言語を決める
  • ステップ3: ツールの使い方を学ぶ
  • ステップ4: 言語を学ぶ

ステップ1: 作りたいものを決める

「プログラミングをしたいけど作りたいものがない。」ということは、「用事は無いけどただ山を歩きたい。」ことと同じです。山の景色を楽しむように、コンピュータの世界に触れてみたいのであれば、それも良いと思います。

しかし、もしあなたがプログラミングを学ぶことで自分を高めたいと思うなら、目標を決めましょう!

「iPhoneで〇〇みたいなアプリが作りたい!」といった程度でも、「このアプリを作れば、世界を変えられる」と思うようなプロダクト作りを目標としてもいいでしょう。

具体的なプロダクトをイメージしながら、学習することで学習効率は大幅に上がりますまた、学習のモチベーションが低下した時に、目標を再確認することで再び学習意欲が高まります。

何より真にあなたが欲しいものを作れるのは世界であなただけなのです。

どうしても何も浮かばない方は、先に紹介した電卓やToDoアプリなど、比較的短い学習期間で開発できるアプリを作ってみるのが良いでしょう。目標や目的が決まることで、学習のやり方も見えてくるはずです。

市場動向を考えて作るものを決めるのもおすすめ

もし作りたいものが明確に決められないという場合は、最近のIT分野の市場動向を見て決めるのも良いでしょう。プログラミングを身につけて就職・転職をするのであれば、よりニーズの高まっている分野に必要なスキルを持っていることで「即戦力」として採用される可能性が高まります。

先ほど説明したiPhoneなどのアプリ開発。スマホ向けアプリは端末自体の普及に合わせて市場拡大中です。未だにニーズの高い分野でしょう。

その他にはVR(仮想現実)、AI(人工知能)、IoT(モノのインターネット)の分野も勢いがあり、2018年以降も大きく市場が広がると予想できます。これらの分野に関わる開発を行ってみてはいかがでしょうか。

ステップ2: 学ぶべき言語を決める

「初心者が最初に学ぶべき言語」や「初心者オススメの言語」と検索してみると、C言語などの記事がたくさん出てきますよね。

では、一からプログラミングを学びたい初心者は、どのような言語を学べば効率良く開発できるでしょうか?

プラットフォームごとの代表的な言語をご紹介します。

代表的な言語 iOSアプリを作るには Swift(スウィフト)

swiftscreen

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

言語のコンセプトに「モダン・安全・高速・インタラクティブ」を掲げており、初学者でもとても扱いやすい言語になっています。

Swiftが登場する以前、Apple系ソフトウェア開発言語では一般的にObjective-Cが使用されていましたが、他の言語と比較して学習コストの高いプログラミング言語でした。

そんなObjective-Cが抱えていた扱いにくさを、Swiftはモダンな文法や仕組みを用いて解決しています。よりシンプルなコードとなり学びやすくなりました。

また、SwiftはObjective-Cと互換性を持つため、Apple系ソフトウェア開発では今後も必要な言語です。

 

現在もアプリの市場は拡大しており、多くの企業が参入しています。エンジニアの中でもSwiftが使える技術者の需要は高まっています。Swiftは他の言語と比べると新しい言語です。そのため、経験者がまだ少ないという現状から影響しているようです。給与や待遇などもよくなる傾向にあります。

代表的な言語 Androidアプリを作るには Java(ジャバ) もしくは Kotlin(コトリン)

Java ジャバ/Kotlin コトリン プログラミング言語Javaは、1995年にSun Microsystemsによりリリースされたプログラミング言語およびコンピューティング・プラットフォームです。

もともとはWebページ上での使用を想定して開発された言語ですが、あらゆるOS上で動かせるという特徴から、今ではAndroidアプリ開発を始め多種多様に用いられています。

以前はそこまで実行速度は早くありませんでしたが、最近では実行速度はかなり早い部類に入っています。

またJavaと合わせて、Kotlinもオススメです。

2017年5月17日のGoogle I/O(Googleが主催する開発者向けのイベント)にて、Androidの開発言語にKotlinが追加されることが発表されました。

KotlinはSwiftに似た文法を持ち、簡潔かつ安全なプログラムを記述しやすい言語です。

現状だとJavaと比べ参考文献や学習のメソッドを記したサイトが少ないので、初心者の方が勉強するにはハードルが高いかもしれません。しかし、将来性は非常にあるためこれからAndroidアプリ開発を学習したいという方にもオススメできる言語です。

KotlinがAndroid開発言語として追加されてからまだそれほど時間が経っておらず、Kotlinを扱えるエンジニアは多くないのが現状です。Anddoidアプリ市場も未だ拡大中であるため、Kotlinを扱えるエンジニア、プログラマーの需要も高まっています。求人数も増えており、給与や待遇も他の言語を扱えるエンジニアより良くなる傾向にあります。

代表的な言語 Webアプリを作るには HTML & CSS & Ruby on Rails

rails3HTMLは、Webページを記述するためのマークアップ言語(※)です。CSSは、それらの文章の構造や修飾情報をどのように装飾するかを指定する言語です。

Rubyは、SwiftやJavaとは異なりスクリプト言語という分類に入るプログラミング言語です。

比較的実行速度が遅いという欠点があるスクリプト言語ですが、簡単なプログラムであれば、短時間で構築して実行できるので、主にWebアプリケーション開発に用いられています。

また、Rubyは日本人が開発したこともあり、公式の日本語リファレンスが豊富で初心者でも非常に習得しやすい言語です。

まず最初に学習するプログラミング言語としてRubyを選ぶ人は多く、プログラミングの教育の場でもRubyが採用されるくらい習得しやすいです。

そんなHTMLやRubyを使って、Webアプリケーションを作るためのフレームワーク(ソフトウェアの部品集のようなもの)がRuby on Railsです。

素早く、高品質なアプリケーションを開発できることから、Webアプリケーション開発においてはRuby on Railsはスタンダードのフレームワークとして採用されています。

※マークアップ言語…コードの一部を「タグ」と呼ばれる特別な文字列で囲うことにより、文章の構造(見出しやリンクなど)や修飾情報(文字の大きさや組版の状態など)を、コード中に記述していく記述言語のことです。

代表的な言語 AI(人工知能)開発にはPython(パイソン)

 

AI(人工知能)という言葉をご存知でしょうか。

AI(人工知能)とはコンピュータ上で、人間の知能のように物事の判断・判別などを行おうとする技術のことです(開発者により定義は様々)。

2000年から現在まで、世界的にAI(人工知能)への注目が高まったことから「第3次人工知能ブーム」が到来しているとされています。過去にも1950~1960年代に第1次人工知能ブーム、1980〜1990年代に第2次人工知能ブームが訪れました。AI(人工知能)は60年以上前からある技術だということがお分かりでしょう。

しかし第1次、第2次ブームの際にはまだ技術力が乏しく、理想のAI(人工知能)からは程遠いものしかできませんでした。2000年以降はAI(人工知能)の精度が高まりを見せており、3回目のブームとなっているのです。

このAI(人工知能)開発に使われる言語がPython(パイソン)です。コードがシンプルで、AI(人工知能)開発に向いたライブラリなどが豊富なことからPythonが採用されています。

AI(人工知能)開発なんて聞くと、初心者にはハードルが高く感じてしまうでしょう。Pythonにできることは他にもたくさんあり、Webアプリ開発やデータ解析など汎用的に使える言語なのです。

学習難易度はRubyのように低めで、プログラミング入門のための言語として、人気を集めています。

ステップ3 環境構築とツールの使い方を学ぶ

環境構築とは、選んだプログラミング言語をコンピュータ(パソコン)で動かせるようにすることです。

環境構築とは、特定の装置やソフトウェア、システムなどが動作するように、コンピュータや情報システムの状態を整えること。特に、コンピュータにソフトウェアを導入したり設定を調整することで、対象のソフトウェアが動作する環境を作り上げる作業を意味する場合が多い。(出典:環境構築とは – IT用語辞典

 

料理でも調理器具の揃ったシステムキッチンがあるように、ソフトウェアでもIDE(統合開発環境)と呼ばれるソフトウェア開発に必要なツールが揃ったソフトウェアがあります。

これ一つでプログラムの作成はもちろん、実行やデバッグ(プログラムの動作の誤りを修正すること)に便利なツールも用意されています。

IDEはその全てを覚えなくても、必要なところを部分的に使うことでプログラムを作ることができます。プログラミング初心者にとって、大きなメリットとなるでしょう。

ここでは、前述した3つのプラットフォームでよく用いられるIDEと、その環境構築方法を説明した記事を紹介します。

代表的なツール iOSアプリを作るには Xcode

images (6)

Xcodeは、Appleが提供するiOSやmacOSのソフトウェアを開発するのに特化されたIDEです。iOSシミュレータをはじめとして、開発に役に立つソフトウェアが多数用意されています。

XcodeはmacOSのみ対応していますので、環境構築方法もMacのみの紹介となります。

代表的なツール Androidアプリを作るには Android Studio

andoro

Android Studioは、Googleが提供するAndroid向けのIDEです。Xcodeと同様にAndroid開発をサポートするソフトウェアが用意されています。

代表的なツール Webサイトを作るには テキストエディタとWebブラウザ

images (7)

Webサイトは、テキストエディタとWebブラウザがあれば開発できます。

テキストエディタでHTMLファイルを作成し、ブラウザで確認を行います。

またJavaScriptを使うことで、ページの動的な書き換えもできるようになります。具体的にはページの要素の書き換えや、ダイナミックな色の変更が可能です。JavaScriptも、エディタとブラウザがあれば開発可能です。

テキストエディタはメモ帳でも利用可能ですが、筆者がオススメするテキストエディタはSublime Textです。

Sublime Textは入力補完が豊富で、足りない機能はプラグインをインストールして追加できます。

Webブラウザはお使いのものでも良いですが、Webアプリのデバッグ用に開発メニューが用意されているChromeやSafari、Firefoxがオススメです。

Webアプリケーション開発には、環境構築が必要

ECサイトやクラウドファンディング、twitterのようなSNSなど、ユーザーとの「対話性」を持つサイトは「Webアプリケーション」と呼ばれます。対話性の無いWebサイトとは、管理者からの一方的な情報提供のみが行われる静的なサイトです。

対話性を持つサイトとは、ユーザーがフォームのクリックや情報の入力、商品の購入などを行えるものです。コンピューターゲームも、ボタン操作を行い敵を倒すなど「対話」を行います。こうした対話性を持つサイトは、ブラウザ上でアプリケーションを操作する「Webアプリ」です。

Webアプリ開発はテキストエディタとブラウザだけでなく、あらかじめ専用の開発環境を用意しておく必要があります。

Webアプリケーション開発のスタンダードとして使われるのは、Ruby on Railsです。Ruby on Railsを扱うには、お使いのPCにRuby on Railsをインストールが必要です。

ステップ4 言語を学ぶ

いよいよ言語を学び始めましょう。プログラミング言語も言語のひとつです。外国語を身につける時と同様プログラミング言語も使わないといつまで経っても身につきません。

一つ学んだことがあれば、それを使って一つ簡単なプログラムを作る心構えで挑むと良いでしょう。どの程度理解できたら次に進めば良いかわからない方は、次の質問を自分に投げかけてみてください。

「どうやってそのように動くかは分からないけど、とりあえずコードを書き、正常に実行できるか?」

イエスと答えられるなら、どんどん次の学習に進みましょう。

一度で完璧に覚えようとするより、大枠を理解し、復習を繰り返すことをオススメします。

独学プログラミング学習お役立ちサイト5選

プログラミングの学習が、ネット上でできればとても便利ですよね。テキストを読むのもコーディングもパソコンでできるのならば勉強の準備をする手間もかかりません。パソコンとネット環境さえあれば自宅やカフェなどでも学習できます。

ここからは、プログラミング独学者にはぜひ試してほしいプログラミング学習用のWebサイトを5つ紹介します。どれも有料会員登録をしない限り、月額無料で利用できるサイトです。

ドットインストール

出典:ドットインストール

ドットインストールは、短いレッスン動画で学習できる初心者向けプログラミング学習サイトです。

すべてのレッスンは3分以内の動画で提供されており、スマートフォンからも視聴が可能です。視聴だけなら移動中でも学習時間に充てられるでしょう。

導入となる初級者向けの動画のほとんどは無料で閲覧できますので、言語を学ぶ上で最初に見ておくと良いでしょう。

Scratch(スクラッチ)などの子供向け言語も学習できます。動画で視覚的に情報を得られることから、プログラミング初心者にもわかりやすい学習サイトとして人気を集めています。

Schoo

 出典:Schoo

こちらもドットインストールと同じく、動画を使ったプログラミング学習サービスSchooです。

異なる点としては、Schooの動画は生放送動画という点です。講師はリアルタイムで画面の向こう側で授業をしています。そのため、もし分からないことがあればその場で質問できるという点が強みです。

 

近年、動画サービスは増えており、プログラミングの学習も動画を見ながらできるようになりました。動画は非常に便利で、動画の内容を目で見て、真似しながら学習ができるので、初心者がプログラミングを学ぶハードルも下がります。

しかし、動画を見るだけでは受動的な学習にしかなりません。プログラミングを身につけるためには自分で手を動かすことが重要です。動画はあくまでも学習への導入や、これからやる作業の全体像をつかむためのものと考えましょう。

動画を見て終わりではなく、その内容に沿って自分でコードを書いてみることで、初めて実践的なプログラミング技術となります。

Stack Overflow

出典:Stack Overflow 日本語版(Beta版)

Stack Overflowは、プログラミングに情熱をそそぐ人のためのQ&Aサイトです。

あなたが遭遇したエラーにどのようなことを試してみたか、具体的に何をしようとしているかを投稿すると、他のユーザーからその問題を解決するための回答が投稿されます。

「どうしてもこのエラーが解決できない!」という時に役立ちます。

学習メソッドを提示してくれるサイトというよりは、教材に載っていない内容を補ってくれる学習サイトというイメージです。

Qiita

出典:Qiita

Qiitaは、プログラミングに関する知識を記録・共有するためのサービスです。

記事に付けたタグや、投稿したユーザ・ストック数・投稿日時の指定など、細かな検索機能で記事を検索できます。

「この言語の◯◯について深く知りたい!」という時に見てみると良いでしょう。

また、Stack Overflowほどピンポイントではありませんが、エラーに対するハウツーが紹介されている記事もあります。原因がわからず解決できないエラーに遭遇した時にはStack Overflowと合わせて見てみましょう。

Progate

 出典:Progate

Progateはオンラインでプログラミングの学習ができるWebサービスです。ご自身のスケジュールに合わせて進捗させられます。

イラストを中心とした「スライド学習」を採用し、直感的にプログラミングがわかるカリキュラムで学習を進めていきます。

学習した内容は実際にコードを書き、手を動かしながら実践していきます。これによって実用的なプログラミングが身につくのです。

学べるプログラミング言語の数も非常に豊富です。HTML&CSS/Ruby&Ruby on Rails/JavaScript/Java/PHP/Pythonなど。

プログラミング初心者にも学びやすい優しい言語を中心に学習を進めていきます。

独学プログラミング学習お役立ちアプリ4選

あらゆる分野のスマートフォン向けアプリが日々リリースされていますが、プログラミング学習専用のアプリも多数存在しています。

仕事があってまとまった勉強時間の取れないサラリーマンなどは、スキマ時間を勉強に当てられる効率的なツールとなるでしょう。

ここからは。基本料無料で使えるプログラミング学習に役立つアプリを4つ紹介します。

codebelle-スキマ時間で学ぶプログラミング-

出典:codebelle-スキマ時間で学ぶプログラミング-

codebellはiOSアプリケーション開発向けの言語であるSwiftを学べるアプリケーションです。

1つのレッスンあたり3分ほどで終わるので、電車の移動時間や、会社、学校の休み時間などを使って簡単に学習を進められます。

レッスンはチャットのような形で進んでいくので、文字量の多い参考書を読むよりも取り掛かりやすいです。初心者がプログラミング言語を学ぶ初歩段階として利用すると良いアプリです。

アルゴリズム図鑑

出典:アルゴリズム図鑑

プログラミングを学習する上で「アルゴリズム」(問題解決のための方法を定式化した形で表現したもの)を理解すると捗りやすいです。このアルゴリズムをアニメーションによって学習できるのがアルゴリズム図鑑です。

このアプリで直接プログラミング言語を学習できるわけではないですが、もっと基本的な部分としてアルゴリズムを理解しておくことで学習の手助けになります。

プログラミングゼミ【低学年から使えるプログラミングアプリ】

出典:プログラミングゼミ【低学年から使えるプログラミングアプリ】

プログラミングゼミは、小学1~3年生の子供達や、学校の先生の意見を反映して作成されたプログラミング学習アプリです。ゲームのような感覚で、遊びながらプログラミングの基本から応用までを学んでいきます。

小学生から使えるということもあり、かなりゲーム性や遊びを用いた仕様になっているので、少々取り組みにくさを感じるかもしれません。

ただ、プログラミングの基本を学んだり、プログラミングに対する苦手意識を払拭するためのアプリとしては、一番おすすめできます。

Udemy Online Courses

出典:Udemy Online Courses

Udemy Online Coursesは、プログラミング学習に特化したアプリではありません。ただ、60,000以上の様々な分野の学習コースがあり、各専門講師が教えています。その中にプログラミングやウェブ開発などを教えてくれるコースもあるのです。

無料のコースもありますが、基本的には有料となります。その分、有料コースは無制限で受講が可能ですので、ご自身の都合の良いタイミングで学習を進められます。

無料のアプリでは基礎の基礎、プログラミングに取り掛かる段階からスタートとなりますが、さらにもう1歩進んだ学習がしたい方はUdemy Online Coursesの利用を検討してみてもいいと思います。

プログラミング学習アプリだけで独学するのは難しい

ただ、現状プログラミング学習アプリは、学習の手助けをするという目的で作られたものが多く、アプリだけこなしていれば実践的なプログラミングスキルが身につくかというと難しいです。

プログラミングの書籍は分厚いものも多く、持ち運びは大変です。移動時間も勉強にあてたい場合などにはアプリによる学習が役に立つでしょう。

実践的なプログラミング技術の向上には、やはりパソコンを使ってコードを書くことが最も効果的です。

独学でプログラミング学習を始めた人たちの本音は?学習事例や有名人の例を紹介

未経験から学習をスタートしても、300時間あればアプリを作れると紹介しました。短い学習期間でも、電卓やToDoアプリなどが作れるようになるのは事実です。

ですが実際に独学してみると思うようにいかなくなって、挫折したり、途中で飽きてしまったりするのが人間の性でもあります。

本当に独学で学習をはじめて、エンジニアとして成果を残した人や「皆に使われるサービス」を生み出した人はいるのでしょうか。

ここでは参考までに筆者の例と、有名サービスを作った人たちの例を紹介します。

iOSアプリのケーススタディ!(筆者の場合)

ここで参考までに、筆者が独学でプログラミング言語を学んだ時のことを紹介します。

大学1回生の時に、独学でiPhoneアプリを作ろうと思い立って勉強し始め、当時、iOSの開発言語だったObjective-Cを学ぶのに2週間かかりました。

高校時代にC言語を学んでいたため、if文やfor文などの制御構文は問題ありませんでしたが、Objective-Cをはじめとしたオブジェクト指向言語ならではの機能を習得するのに時間がかかりました。

次に、ボタンやテキストフィールドなどのUIパーツの使い方を学ぶのに1か月かかり、途中からは並行して、iPhoneアプリ制作を開始しました。

最終的に全期間を通してかかった期間は、3ヶ月ほどでした。

なお、1日の勉強・作業時間は平均して1時間半ほどで、一つのアプリを作るまでに135時間程度かかったことになります。

このことからiPhoneアプリを作る場合、全くプログラミングに触れたことがない方でも200時間程度でそれなりのアプリ作成できます。

有名サービスを作った方たちのケーススタディ

ここで、社会人になってからプログラミング学習を始めた2名の方をご紹介します。

グリー株式会社 代表取締役社長 田中 良和氏

プログラミングの知識はありませんでした。
ところが、実際にできる人にちょっと教えてもらうと、一つステージを乗り越えるというんでしょうか、できるようになるんです。
教わったら意外に簡単。なんだ、できるじゃないか、と。その後はすっかり独学でした。

出典:田中良和が語る「グリー成功を支えた技術への思い」|【Tech総研】

ウォンテッドリー株式会社 CEO 仲 暁子氏

最初はサイトも自分で作りました。
 
何度もチャレンジしてうまくいかなかったコーディングに、なぜか成功して。たまたま体調を崩して家にいるしかない時期があって。
 
Ruby on Railsのテキストを開いて、ステップ通りに進めてみたらできてしまったんです。
 
Facebookのログイン機能もWeb上にたくさん記事がありましたし(笑)。
 
 

 より効率的な学習を促進する4つのコツ

プログラミング学習は時間がかかるもの。特に初心者のうちは最適な勉強方法や、勉強に対する心がけを見つけにくいかもしれません。

ここからは、プログラミングの勉強を始める前の段階として理解しておきたいことについて解説していきます。

以下の4つのことを把握しておけば、壁にぶつかったとしても解消するきっかけを見つけ出せるでしょう。学習の準備を始める前に目を通しておいてください。

目標・目的は細かく設定する

独学を進める中で意識したことが二つあり、一つは目標や目的を細かく設定することです。

目標を細かく設定することで、自分がどれだけ進んだかが分かりやすくなり、モチベーションの維持や残りの行程の確認にも役に立ちます。

できれば、1日どれくらい勉強したのかを記録しておくこともおすすめします。メモ書き程度でも構わないのですが、記録しておくと自身の成長を振り返りやすくなるでしょう。

1日30分でもいいからやる

もう一つ意識したことは、短い時間でも毎日学習を続けることです。

例えば、毎週の休日にまとめて7時間学習をする場合、前週の復習に1時間くらいかかってしまいます。

毎日少しづつ学習を続ければ、復習にかける時間を少なくでき、より効率的に学習することができます。

プログラミング入門者にとって、最初のうちは学習のハードルが高く感じることでしょう。無理に長時間やろうとすると、集中力やモチベーションの低下につながりかねません。

少しずつ勉強しながらプログラミングの全体像をつかみ、本格的な勉強へと移りましょう。まずは理解しできなかった部分があっても、現在取り掛かっている教材を一通り終わらせてしまうことをおすすめします。そしてその教材を2周、3周と繰り返すことで、わからなかった部分を潰していってください。

覚えておきたいlinuxコマンド

OSの種類を問わず、プログラミングを始めると、ターミナルや端末と呼ばれる類のアプリケーションを利用する機会があります。

ターミナルをとても簡単に説明すると「マウス操作ではなく、コマンドを打ち込み指示をして操作する」ツールです。

(「ターミナルを使い、コマンドで操作していた技術の代わりに、マウス操作できるようになった」のが今のPCになります。)

※ただし、Windowsに標準インストールされているのは、コマンドプロンプトというアプリケーションです。残念ながら、命令の形式が異なるので利用ず、別のアプリケーションの導入が必要になります。

必ず使う機会がありますので、基本的な5つコマンドをご紹介しておきます。

  • cd・・・ディレクトリ(=フォルダ)を移動するコマンドです。
  • ls・・・ディレクトリの中身を一覧表示するコマンドです。
  • pwd・・・現在のディレクトリを表示するコマンドです。
  • mkdir・・・ディレクトリを新たに作成するコマンドです。
  • man・・・コマンドのマニュアルを表示します。

正規表現の基礎を学ぼう!

正規表現とは、いくつかの文字列を一つの形式で表現するための表現方法です。

この表現方法を利用すれば、たくさんの文章の中から容易に見つけたい文字列を検索できます。

例えば、Apple製品が収められたデータベースの中から「iPod」「iMac」「iPad」などの「先頭に”i”がついていて、そのあと3文字続くもの」を取り出したい時には「^i…」と書きます。

正規表現をマスターすると、文章処理作業の効率が飛躍的に向上します。

それはプログラムの処理を簡単にできるだけでなく、検索・置換する際に正規表現を扱えるエディタならば、ソースコードを大規模に改良する時にも役に立ちます。

テクノロジースクールTECH::CAMPで
10年後も仕事に困らないスキルを身に着けませんか?
テックキャンプ体験会

TECH::CAMP』はこれからのテクノロジー時代で結果を出せる、次世代のビジネスパーソンを育成するスクールです。以下のような方におすすめです。

  • 今の職場でキャリアアップ、年収アップしたい
  • エンジニア以外の職種でIT業界に転職・就職したい
  • ビジネスパーソンとして総合的にスキルを高めたい

まずは無料体験会に参加してみてください。体験会は月に1000名以上のお申し込みをいただいているため、ご希望の日が埋まることがあります。今すぐのご予約をおすすめします。

体験会について詳しくみる

TECH::NOTE TECH::NOTE
TECH::NOTE(テックノート)は、テクノロジーを通じて人生をより良くしたい人のためのWebメディアです。 教養としてテクノロジーを学ぶ人や、プログラミング未経験からのエンジニア転職を志す人に貢献することをミッションとしています。学ぶことの喜び、挑戦することの楽しさを伝えていきます。
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

  • カテゴリー