これからプログラミングを勉強したいけど独学でできるのかどうか心配でしょう。
サイトでソースコードというものを見てみたけど何が書いてあるのかわからない。ほんとにできるのか?大丈夫なのか?
大丈夫です。独学でもプログラミングができるようになります。ただし莫大な時間は必要です。ちょっと勉強しただけで身に付くものではないです。
私も1年間プログラミングを勉強してきましたが、ある程度は触れるようになりました。
1年間プログラミングを勉強した私が、プログラミングを勉強し始める前の私に向けて書いています。これから始めようとしている人の参考にきっとなるでしょう。
まず私が1年間プログラミングを独学で勉強してきてどれくらい成長したか?
目次
独学でプログラミングした1年間の成果
私がプログラミングを1年間勉強して使えるようになった言語はC、Python、Ruby、PHP、HTML、CSS、JavaScriptです。使えるようになったといっても実際に仕事では使っていません。
どの言語でどんなものが作れるかの参考にしてください。
Ruby on Rails でちょっとしたWebサイト
RubyとRuby on Railsで不満・悪口を投稿できるここぐちというサイト。残念ながら誰一人も使っていませんw。投稿も私一人のみです。
無料のサーバーを使っているので読み込みがかなり遅いです。5~10秒くらいかかります。
HTMLとcssでサイトの模写
これくらいのサイトは自分でつくれるようになりました。真面目に取り組めば1カ月くらいでたいていのサイト並のクオリティでつくれるようになります。
PHPとWordpressでちょっとしたブログサイト
まだ1記事しか投稿していませんが、そのうち投稿します。
Rubyでスクレイピング
見づらいかもしれませんがZOZOTOWNの売れ筋商品のデータを引っ張ってきました。これをExcelに貼り付けることもできます。
JavaScriptでGPA計算機
毎回計算するのがめんどくさかったのでGPA計算機をつくってみました。
これくらいのものなら作れる・書くことができるようになりました。
Java,Rという言語は読める程度なら使えます。。
まずは1つの言語を徹底
こんなにも多くの言語が使えるようになるのかと思ったかもしれません。
プログラミング言語における言語の違いは日本語の方言くらいです。だいたいは同じだけど単語が少し違ったり文末が違ったりする程度です。
なので1つの言語を覚えてしまえばあとは細かい違いを勉強するだけで他の言語も理解できます。
一つの言語を学び始めて他の言語に浮気はしないようにしましょう。あなたが一番最初に触れた言語に嫌われてしまいますよ。
ただし、HTMLとCSSは特殊です。他の言語とは違います。デザインセンスも必要です。
どの言語を学べばいいのか?
プログラミング言語はたくさんあります。これから勉強しようという方にとってはたくさんあってどれから勉強すればいいか分からないです。
やりたいことが何か決まっているならそれに適した言語を勉強すべきです。
Webサイトのデザインをしたい→HTML/CSS
ゲームを作りたい→C#
Webサイトを作りたい→PHP、Ruby、Python
人口知能に興味がある→Python
とりあえずプログラミングを学びたい→JavaScript
C言語とJavaというのがありますが、あまりおすすめできません。というのも目に見える結果が得られないからです。
プログラミングを勉強していて楽しいのは何らかのものをつくったときです。CやJavaを勉強しても黒い画面によくわからない文字が書いてあるくらいしか最初はできません。
よくハッカーの画面みたいなやつです。
これではモチベーションにつながりません。
プログラミングの独学は可能
上の画像のようにプログラミングの勉強方法は調べて解決するのみです。
ある程度の基礎を勉強したら実際に何か作ってみるのが一番です。それがもっとも効率的な勉強です。
ずっと基礎を学んでいるだけでは成長しません。基礎を学んだら自分で何か作ってみる。
何か作っていると必ず分からないところが出てきます。それをネットで色々調べます。そして解決する。この過程に成長の経験値があります。
基礎ばかり(参考書)を読んでいたばかりの自分に言いたいです。何かつくってみろと!
独学のデメリット
莫大な時間がかかると最初に言いましたが、それは調べるのに時間がかかるからです。ある程度知識がついてこれば、どこがエラーの原因なのか、どういう風に作ればいいのかわかってきます。
ただし全く知識のない初心者だとエラーがでても分からない単語ばかりでチンプンカンプンです。またどういうふうに作ればいいのかどこを直せばいいのかも見当がつきません。
なので調べるだけでも多くの時間が必要になります。
これが独学のデメリットです。
プログラミング経験のある人が身近にいたり、プログラミングスクールに入っていればすぐ解決してくれます。
これがプログラミングスクールに入るメリットです。
お金を使えば時間は短縮できます。時間を使えばお金は節約できます。
スマホゲームもそうです。課金アイテムを買えばスタミナを回復出来たり、ストーリーを進める上での強いキャラ、アイテムをそろえれます。無課金でも強くなれますが、かなりの時間を費やす必要があります。
お金は使いたくないなら独学で、お金をつかってでもいいので少しでも早く習得したいならプログラミングスクール等に入る。
ちなみに私は大学生で比較的時間のあったのでプログラミングスクールには入らずに独学で勉強してきました。
独学する上で役に立ったサイト
独学でプログラミングを勉強する上で役に立つサイトをいくつか紹介します。基本無料です。
ドットインストール
ドットインストール | 豊富なレッスン、3分にまとめられた分かり易い動画 |
---|---|
無料会員 | 無料 |
有料会員 | 月980円(税込) |
私もお世話になったドットインストールです。
無料会員でも十分な数のレッスンがあります。有料会員になるのは無料会員を試してからで十分です。
豊富なレッスンに加えてどのレッスンも3分以内の動画にまとめられていてスキマ時間に見ることができます。
説明もとても丁寧で言われた通りにやっていけば誰でも簡単にプログラミングを学べます。
有料会員になると中上級者向けのレッスンを受けることができます。また文字起こしテキスト(動画内の説明を文字で読めます)、ソースコードを閲覧することもできます。
月1000円以内でこれだけできるのでとてもおすすめです。休みが多い月だけ入って一気に勉強するとよいです。
Progate
Progate | 実際に手を動かしながら勉強できる |
---|---|
無料会員 | 無料 |
有料会員 | 月980円(税込) |
ドットインストールと同じくらいおすすめなのがProgateです。
ドットインストールは動画でしたが、Progateは分かり易いイラスト中心のスライドで説明してくれます。文字ではなくイラストで説明してくれるので視覚的に理解できます。
しかも、ブラウザ上でコードを書きながらレッスンを進めることができます。めんどくさい環境構築をせずに学ぶことができます。初心者にとてもおすすめです。
TwitterにはProgateで勉強している人がたくさんいます。#Progate プログラミング始めましたとつぶやくだけで多くの人がフォローしてくれます。プログラミング学習のモチベーションアップになります。
teratail
teratail | 分からないことを気軽に聞けるサイト |
---|---|
無料会員 | 無料 |
質問をしたことはないですが、何かにつまったときはこのteratailさんを使っています。
どういうサイトか分かり易く説明するとYahoo知恵袋のプログラミングバージョンです。プログラミング関係の質問をして誰かが答えてくれるというサイトです。
無料で使えるのでとりあえず会員登録しておくといいです。
多くの質問が毎日されていてそれに回答する人も多いです。回答率90.59%とサイトで謳っています。大体の質問は答えてくれます。
もちろん分からなかったからすぐ聞くのではなく、ある程度自分で調べてみてどこがどうわからないかを明確にしてから質問しましょう。
自分のためにはなりません。
Qiita
Qiita | 知識を共有する |
---|---|
無料会員 | 無料 |
Qiitaはエンジニアリングに関する知識を記録・共有するためのサービスです。
他の人がプログラミングをしていてエラーにはまったときどのように対処したのかを記録してあります。自分も同じエラーに陥ったとき参考にできます。
また、エラーに関してではなく様々なことを分かり易くまとめた記事もあります。
暇なときにみているだけでも面白いです。Excelで佐々木希を作ってみたや次の元号を人口知能を使って予測してみたなど面白いのも多くあります。
ぜひ登録しておきましょう。
自分でも投稿することができます。初心者ならではの見方を共有するのもいいでしょう。他の人が自分の投稿にコメントをしてくれることもあります。
私がプログラミングを独学する上で利用したのは上の4つです。後はネットです。分からないことはたいていインターネット上に転がっています。
上手く記事を見つけることができるのもエンジニアとしての一つのスキルだと思います。
Twitterを上手く使いましょう。
Twitterで#駆け出しエンジニアと繋がりたいなどといったハッシュタグがあります。それを付けてプログラミング始めましたとツイートすれば同じ境遇の人がフォローしてくれます。
プログラミング初心者は多くいます。独学の辛い所は孤独です。一人で続けるのはなかなか大変です。一緒に勉強してくれる仲間がいるとモチベーションにつながります。
また有益な情報をたくさん流してくれる人もいます。そういった人をフォローしていくのもいいです。
質問をすれば答えてくれることもあります。エンジニアの人は初心者にとても優しいです。
最後に
プログラミングは賢さは関係ないです。どれだけプログラミングしてきたかです。
プログラミングができるかできないかの違いは行動したかしなかったかだけです。少しでもプログラミングに興味をもったならまずは行動してみましょう。
ドットインストールかProgateにまず登録してみましょう。あとはプログラミング用のTwitterアカウントも作りましょう。