プログラミングを独学して1年。今日までの勉強方法を書いてみる
【最終更新日 2018/07/17】
僕がプログラミングを始めたのは、今からちょうど一年前くらい。去年の6月でした。
基本的には、今日まで100%独学です。誰かに教えてもらったことはありません。
適当な本を買ってきて読んで、あとはネットでググりながら学習した感じですね。
独学で大丈夫なの?って思われるかもしれないですけど、WEBサービスやアプリの開発を自分一人で出来るようになったので、僕は大丈夫だと思っています。
ちなみに今日まで作ったアプリの一覧はこれです。
Taro Horiguchiの App を App Store で
Taro Horiguchi - Google Play の Android アプリ
WEBサービスはこれ。
誰かの参考になるかは分かりませんけど、自分がやってきた勉強方法、その内容について書いてみようと思います。
プログラミングの基本をマスターするまで
プログラミングの基本を身に付けるまでにかかった期間は、ザックリ一ヶ月でした。
僕はPHPから入ったんですけど、HTML、CSS、PHP、JavaScript、MySQLを学習するのに一ヶ月かかりました。
んでその後にビルメンネットっていうWEBサービスを作ることが出来たんで、この時点で基本はマスター出来ていたと思います。
(JavaScriptに関しては、本当に軽く。最低限だけですね)
基本的には毎朝3時間勉強した感じです。最低限これは毎日やりましたね。
んで、時間が許す日は15時間くらいやりました。週の半分くらいはそうだったかな?とにかく熱意だけはあったんですよ。
僕は最近までパソコンすら持ってなかったアナログ野郎なので、これだけは言えます。プログラミングのスタートは熱意だとw
今日までの流れ
ザックリ今日までの流れを書くとこんな感じです。
プログラミングの入門書を読む(2日)→HTMLとCSSを勉強する(2日)→生まれて初めてサイト(ホームページ)を作る(1日)→PHPとMySQLを勉強する(3週間)→WEBサービスをリリースする(3か月)→アプリの勉強をする(5日)→ひたすらアプリをリリースする
とりあえずWEBのプログラミングから入ったんですよ。最近はアプリから入る人も多いと思うんですが、僕はWEBでした。
上記したビルメンネットっていうサービスを作りたかったんですよ。清掃会社同士のマッチングサービスを。これを作りたくて、プログラミングを始めたようなものです。
んで、実際の流れは上記の通りですね。とりあえず速攻でホームページ作れるようになって、そのあとにPHPを使ったWEBサービスの勉強。んでWEBサービスをリリースしたあとは、もうアプリに夢中って感じです。
今はアプリしかないですね。もうこれしか考えられませんw
プログラミングの入門書を読む
ここから、実際の勉強内容について、具体的に書いていきたいと思います。
上記した「今日までの流れ」に沿っていきましょう。
僕がプログラミングに入門することが出来たのは、最初に読んだ本が良かったからだと思います。
その後もコンスタントに本は買ってるんですが、ここまでいいものはありませんでした。
えー、その本っていうのがこれです。いきなりはじめるPHP。
この本がマジで神だったんですよね。本だけにカミって表現を使うのは紛らわしいんですが、他に表現の仕様がありません。神、ゴットです。
プログラミングって、まず最初の環境設定が難しいじゃないですか。画面に「Hello World」って出すのが定番なんですが、これが出ないっていう。
ちょっと前にPerlを触ったときは、これが出なかったんで、2日で諦めた覚えがあります。
ただ、この本は本当に優しいんですよ。他の本も何冊も買ってますけど、これだけ環境設定にページ数を割いてる本はないです。バファリン以上に優しさが入ってました。
これはHTMLとPHPとSQLの触りが書いてある本なんですが、これ以上のプログラミングの入門書はないと思います。そのくらい分かりやすい。
HTMLとCSSを勉強する
上記の「いきなりはじめるPHP」を読んでから、まずはHTMLとCSSの勉強をしました。
とにかくWEBっていうのは、HTMLあってこそなので、まずはここなんですよね。
PHPもHTMLに埋め込むように使うので、とりあえずこれを知らないとダメでした。
んでHTMLと言えば、それのデザインをするCSSですよ。まあこの2つはコンビみたいなもんですね。
ちなみにRubyでなくPHPを選んだ理由は、Facebookも最初はPHPで作られたって知ったからです。
僕はザッカーバーグのファンなんですよ。映画「ソーシャルネットワーク」を見てファンになりましたw
前置きが長くなりましたが、買った本はこれです。これも最高に分かりやすかった。
HTMLとCSSを覚えるのなら、一番おすすめの本ですね。
ちなみに、この筆者の方の本は、どれも分かりやすいんでいいですよ。
僕はJavaScriptと、そのフレームワークであるjQueryも、この狩野さんの本で勉強しましたから。
確かな力が身につくJavaScript「超」入門 (確かな力が身につく「超」入門シリーズ)
- 作者: 狩野祐東
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/10/30
- メディア: 単行本
- この商品を含むブログを見る
生まれて初めてホームページを作る
いきなりはじめるPHP。スラスラわかるHTML&CSSのきほん。 この2冊をそれぞれ2日、計4日で終わらせまして、早速ホームページの作成を始めました。
人にこの話をするたびに、「4日は速すぎる。話盛ってるだろ」って言われるんですが、2冊とも超分かりやすい良書なので、気合入れれば4日で終わるのは事実です。
ただ、1日最低10時間くらいは取りましたけどね。つまり40時間以上w
それでこのサイトを作りました。これ自分の会社のサイトなんですけど、いまだに当時作ったままになっています。レスポンシブに対応してなかったりと、ちょっと鈍臭い状態なんですけど、直すのが面倒で放置状態w
PHPとMySQLを勉強する
HTMLとCSSを覚えたので、ここから本格的にPHPの勉強を始めました。選んだ教材は上記した「いきなりはじめるPHP」の続編、「気付けばプロ並みPHP」でした。
気づけばプロ並みPHP~ショッピングカート作りにチャレンジ!
- 作者: 谷藤賢一,河原健人
- 出版社/メーカー: リックテレコム
- 発売日: 2013/10/15
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
この本は実際にショッピングカート(ECサイト)を作るって内容なんですが、これがめっちゃ力になります。
マジでコード書きまくりな内容なんですが、終わる頃にはプログラミングの基本的なことは理解出来るようになっていました。
変数、ループ文、if文、配列、関数、SQLの主な命令。まあこの辺ですね。
WEBサービスをリリースする
ここまでの勉強で、自分が作りたいと思ってたWEBサービスを作れるなと思いました。
何度も書いてるんですけど、ビルメンネットっていう清掃会社同士のマッチングサービスですね。サイトに案件を投稿すると、それに対応してる会社とマッチング出来るってシステムです。
これを作るのが本当に大変で、マジでググりまくりの毎日でした。
基本的なことは分かっていても、どうしてもそれだけじゃダメな場合が多々あって、それを解決するためにググり倒してました。
ただ、間違いなく言えるのは、こうやって作ってるうちに、プログラミングの理解が深まったことです。
やっぱ実際に手を動かして、何かを作らないと、プログラミングは上達しないですね。
そんなこんなで3か月かけて完成させました。フロントエンド(HTML、CSS、JavaScript)に一ヶ月半、バックエンド(PHP、MySQL)に一ヶ月半。ちょうど半々くらいでしたね。
一番苦戦したのはCSSです。自分のデザインセンスが皆無なので、実はこれに一番苦戦しましたw
アプリの勉強をする
ここからはアプリに一直線になりました。やっぱアプリって魅力的ですよ。今はWEBよりスマホアプリ全盛ですしね。
最初はiPhoneアプリの勉強から始めました。選んだ言語はSwift。
下記の本、2冊を読んで、早速自分のアプリを作り始めました。
絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】
- 作者: 高橋京介
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/12/20
- メディア: 大型本
- この商品を含むブログ (3件) を見る
Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】
- 作者: 森巧尚,まつむらまきお
- 出版社/メーカー: マイナビ
- 発売日: 2014/10/31
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
とにかくSwiftを覚えるのはすぐだったはずです。むしろ勉強のメインはXcodeの使い方でしたね。これを覚えるのに、少々時間がかかりました。
このときに気が付いたんですけど、プログラミング言語って、1個覚えると、あとは簡単なんですよね。基本的な部分は同じなので、すんなり入っていけるというか。
そんなこんなで、勉強開始から10日でアプリを提出しました。まあこれ、審査落ちするんですけどw
最終的には1か月かかって「来世占い」というアプリを出したんですよ。これやってみれば分かるんですが、マジで意味のない内容になってます。なので、間違ってもダウンロードしないでください。
とにかく早くリリースしたくて、これを作った覚えがあります。
んで、当時は審査が長かったんですよ。いまだと数日なんですが、7〜10日くらいかかってました。それゆえ、審査落ちが痛かったんですよね。時間がかかってしょうがないから。
ひたすらアプリをリリースする
この辺からは割りと最近の話です。最近はしょーもないアプリばっかり作ってます。
でもやっぱアプリが一番楽しいんですよね。だってみんなにやってもらえるじゃないですか。
WEBサービスを作るより、アプリのゲームの方が、ずっと間口が大きいので、それが面白くて作ってます。
ただアプリを作る一番の目的は、プログラミングの上達です。
1個1個がミニマムに作れるので、プログラミングの学習にちょうどいいんですよね。コードの量がそこまで多くならないっていうか。
そんな感じで最近はアプリにハマっています。
最後に
ザーッと今日までの一年間を書いてみました。
とりあえず駆け足だったのは間違いないですね。早く自分で作れるようになりたかったので、勉強は適当に片付けてきました。
てか、やっぱ教科書読んだだけだと分からないんですよね。実際に手を動かして作ってみないと、理解出来ないことが多いです。
そんな風に思ってるので、とにかく実践て感じでやってきました。
なので、本当にプログラミングのことだけを勉強してたのは、最初の一ヶ月だけだと思います。あとは何かを作りながら学んできたって感じですね。
他の人がどうやってるのか知りませんけど、僕はひたすらに簡単なものを作るってやり方が、一番効率的な勉強方法だと思っています。
はい、非常に長くなりましたけど、これが僕が一年やってきた勉強内容です。
良書を読んで、ひたすらググりながら、何かを作る。一言で言えば、こんな感じになります。
【関連記事】
WEBサービスからアプリ開発まで。今日まで自分が買ったおすすめ本を全部紹介してみる - ホーリーのプログラミング日記
その後の話
おかげさまでこの記事がよく読まれてるようなので、ちょっと追記しようと思います。
プログラミングを始めて1年、すっかりアプリ開発に夢中になった僕は、そのままゲームアプリに突撃していきます。
アプリって言うのは「ツール系」と「ゲーム系」にザックリ分かれるわけですが、やっぱりゲームが面白いんですよね。作るのは難しいんですが、楽しくて仕方ありません。
そこでポイントになるのがUnity(ユニティ)ですよ。
Unityはゲームエンジンていうか、ゲームを作るためのソフトなんですけど、ゲームが作りやすいのはもちろん、iPhoneとAndroid両方同時に作れるので、本当に優れてるんですよね。
普通にアプリを作ろうとするとiPhoneはSwift、AndroidはJavaで書かないといけません。ようは別々の言語でそれぞれ開発するんですが、UnityならばC#を使って両方に対応したアプリが作れます。
そんなわけで今の僕はUnityばっかり触ってるんですよ。
おかげさまでiPhoneで27本。Androidでも23本のアプリをリリースすることが出来ました。8割以上がゲームですね。
ダウンロード数は10万を超える程度で、出してる本数からは全然見合ってないんですが、とにかく楽しんでいますw
Unity5の教科書 2D&3Dスマートフォンゲーム入門講座
- 作者: 北村愛実
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/06/22
- メディア: Kindle版
- この商品を含むブログを見る
Unityの使い方は「Unity5の教科書」で覚えました。これ相当分かりやすい。
(これ都度最新版が出るので、今から買うならUnity2018のやつがいいと思います)
その後に「UnityではじめるC#」を読んで、脱出ゲームとかを作れるようになったんですよ。これはゲームアプリの入門書として最高ですね。
UnityではじめるC#を読んだら簡単に脱出ゲームが作れるようになった話 - ホーリーのプログラミング日記
そして極めつけは「Unityの寺子屋」でした。これは「UnityではじめるC#」の続編なんですけど、これを読んで放置ゲームとか横スクロールアクションゲームが作れるようになったのはもちろん、結構な幅のゲームが作れるようになりましたね。
著者である「いたのくまんぼう」さんには感謝の気持ちしかありません。あとがきも本当に最高でした。
Unityの寺子屋を読んで、そのあとがきに感動した話 - ホーリーのプログラミング日記
えー、そんなこんなで、プログラミングを始めて3年かな。これを追記してるのが2018年の7月なんで、3年が経過したわけですけど、いまだに僕はプログラミングが好きだし、何かを作ることに幸せを感じています。
独学でここまでこれたのは、数多くの良書のおかげだし、何よりも、そんな良書を書いてくださった著者の方々に感謝しています。
プログラミング is 最高
始める前は苦手意識しかなかったんですが、遮二無二やってきてよかったと思っています。
本での学習以外に使ったサービスはこれ
そうそう、今は便利な世の中なので、ネットでもプログラミングを学べるようになりました。
僕は本を中心とした勉強をおすすめしてるんですが、ネットサービスも併用して学習してので、ちょっとそれらを紹介したいと思います。
ドットインストール
ドットインストールは動画でプログラミングを学べるサイトですね。実際に書いてるところを見れるんで、非常に便利です。
無料でもそこそこ見れるんですが、突っ込んだところは有料(月額980円)になってますね。
今どきのサイトの作り方や、アプリで使うXcodeの基本などは、このサイトで勉強した感じです。
なにげに有料会員になってますよ。最近はあんまりお世話になってないですけどもw
ドットインストール|3分動画でマスターするプログラミング学習サイト
プロゲート
プロゲートは結構知ってる方も多いんじゃないでしょうか。ゲーム感覚でプログラミングを覚えれるサービスなんで楽しいです。
ただ、これだけでバリバリ書けるようになるかといえば、多分そんなことはないかとw
僕はHTMLとCSSの確認のためにこれを使いました。復習目的ですね。
これも有料会員しか使えない機能があったと思いますが、僕は課金したことないです。でもとにかく良く出来てる。すごい。
Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]
teratail(テラテイル)
これは自分で使ったことないんですけど、結構便利だと聞くので紹介させていただきましょう。
teratail(テラテイル)は簡単に言えば質問が出来るサービスなんですよ。
独学で勉強してると、ちょっとしたところで行き詰まったりするじゃないですか。そんなときに、ここで質問して回答を得られるってわけですね。
つまりテラテイルは「無料でアドバイスをもらえるサービス」と言えばいいのかもしれません。
同じサイトに登録している他ユーザーからアドバイスをもらえるってわけです。
僕はシャイなので使ったことないんですけど、独学に不安のある方は登録だけしておいて損はないでしょう。
なんせ無料ですからね。他ユーザーの質問も見れたりして、いい感じですよ。
サクッと無料登録>>teratail(テラテイル)
こうやってみると、初心者の質問も目立ちますね。
割りと気軽に投稿できるのかもしれません。
初心者でもOK>>teratail(テラテイル)