Progateで学んだ感想と注意点


こんにちは。
自分は約一年間、Progateを使ってプログラミングを学んできました。
おかげで、さまざまな言語の基礎を身につけることができました。
一方で、注意点もいくつか感じたので、書き残します。

Progateって何?

概要

Progateはオンラインでプログラミングの基礎が学べるサービスです。

動画ではなくスライドで学ぶことが一つの特徴だと思います。

紙の本よりも直感的で、動画よりも学びやすい、「スライド学習」を採用しました。
自分のペースで学習できること、復習しやすいことが強みです。

Progate公式サイトより引用

無料会員と有料会員があります。有料会員は月に980円(税別)です。

無料会員は各コースの最初のレッスン、有料会員は公開中のレッスンを全て受講することができます。

コース一覧

  • HTML&CSS
  • JavaScript(ES5)
  • JavaScript
  • jQuery
  • Ruby
  • Ruby on Rails5
  • PHP
  • Java
  • Python
  • Command Line
  • Git
  • SQL
  • Sass
  • Go
  • React
  • Node.js

Web開発によく使われる言語・技術が多い印象です。

ゲームを作りたい人、スマホアプリを作りたい人には、物足りないかもしれません。

今はJavaScriptなどでブラウザゲームを作ったりすることもできますが、ゲーム機で動くゲームなど、本格的なものを作るのには向かないと思います。

とはいえ、Gitなどはどの開発でも使うと思うので学んで損はないと思います。

感想

スライド形式はいい

個人的にスライドは学びやすいと感じました。
プログラミングの学習方法は主に、書籍、動画、ネット上の記事、スライド(Progate)に分けられると思いますが、それぞれ長所や短所があると思います。

※以下は個人の意見です。

書籍

長所 短所
まとまった情報を得やすい 机の上でかさばる
解説が丁寧なことが多い 本の出版日に注意する

動画

長所 短所
文字を読むのが苦手な人は使いやすい 聞き逃したりすると巻き戻したりするのが面倒
手順がわかりやすい マルチタスク苦手な人は大変かも(動画を聴きながら手を動かす)

ネット上の記事

長所 短所
とにかく豊富(特にエラーの解決方法など) 間違っていたりすることがたまにある
同じ事柄について複数のソースを確認しやすい まとまった情報を得にくい

スライド(Progate)

長所 短所
コンパクトにまとまっている 情報の種類はある程度限定される(Progateの場合)
見返しやすい

スライドの短所は特に思いつきませんでした。

どのソースでもいつの情報かは重要だと思います。プログラミングの分野は変化が激しいです。


本題に戻ります。

書籍は机の上で開いた時に、かさばることが多く(技術書はサイズが大きい)、またページをめくるために手をキーボードから移すのも、地味に面倒に感じていました。

動画は自分の作業スピードと違うと頻繁に動画を止めたり巻き戻す必要があり、プログラミングに集中することが難しい時がありました。

ネットの記事も、新しく何かを学びたい時に、まとまった情報を探すのは一苦労です。公式チュートリアルなどもありますが、英語のことも多いです。英語だと、初心者にはレベルが高いと思います。

Progateのスライドは見やすく、プログラミングしている途中にわからなくなっても、すぐに見ることができたのが便利でした。また、スライドの検索機能も重宝しました。

実践も可能

プログラミングの基礎を一通り習った後、何か作りたいけどアイデアがないことはしばしば起こります。それを解決するために、自分はProgateの「道場コース」をやりました。(道場コースは、一部のコースのみです)

Progateでは基本的に「何かを学ぶ」 →「指示に従ってプログラミングする」の手順で進みます。

一方、道場コースは「これを作ってね」という仕様書を与えられ、それに従って自分でプログラミングします。
原則ヒントがないため(自分で調べることはできる)、力試しに使用しました。

道場コースをやってみると、一度学習したことでも意外と忘れていることがわかり、もう一度復習しよう、と感じることができました。

また自力で作り上げたという達成感を味わうことができるのも良い点です。

初心者の頃はチュートリアルなどにしたがって何かを作ることが多く、自力で作ることはあまりありません。そのため、達成感を味わうこともあまりないです。達成感を味わうことによって、プログラミングを続けるモチベーションを保つこともできると思います。

注意点

ここからは、Progateをやって、これからやる人に「こういう点があるよ」と伝えておきたいことを書きます。

Progateに加えての学習は必須

Progateは初心者から中級者向けだと思うので、当然と言えば当然ですが、一応。

Progateでは基礎を学ぶことができます。
それ以降は、中級者向けの本を買ったり、自分で調べたりして学ぶ必要があります。

個人的なお勧めは、Progateを終わらせた後に、

  • ネット上で探して「〇〇を作ってみる」系の記事をやる

ことです。

言語によりますが、簡単なアプリ(ToDoアプリやカレンダー)を作ってみたりすればいいと思います。

マイナーな言語でなければ、「言語名 初心者 作ってみる」とかで検索するといいと思います。

そうしたものをやるなかで、わからないことがあればまた調べたりして、自分のスキルを向上させることができると思います。

今メインで使われていない技術もある

実際に実務で、Progateで学んだ言語を使おうとする時、Progateで学んだ技術そのままを使わないこともあると思います。

例として、Reactを挙げます。
Reactではコンポーネントを作成し、それらを組み合わせることで、開発していきます。

Progateでは、「クラスコンポーネント」というものを学びます。

クラスコンポーネント
class Hello extends React.Component {
  render() {
    return <h1>Hello</h1>;
  }
}

ところが、Reactにはもう一つ、コンポーネントの定義方法があります。「関数コンポーネント」です。

関数コンポーネント
function Hello() {
  return <h1>Hello</h1>;
}

クラスコンポーネントと関数コンポーネント、どちらを使っても特に動作に違いはないと思います。(自分はReactに詳しくないので、間違っていたら指摘お願いします)

しかし、今は、関数コンポーネントの方が使う機会が多いようです。

したがって、実際にReactを実務で使うとき、この関数コンポーネントも学ぶ必要があります。

他にも、Node.jsではejsというテンプレートエンジンを使います。HTMLにJavaScriptを埋め込むようにして使います。

ですが、実務では、先ほど言及したReactや、Vue.jsといったライブラリやフレームワークがを使うことの方が多いように感じます。
開発の規模が大きくなれば大きくなるほど、そうしたライブラリやフレームワークの方が使いやすいです。

ejsが悪いわけではないですが、実際に使う場面はそう多くないのでは、と感じています。

このように、Progateでは基礎を学ぶことができますが、あまり実務では使われていないものを学ぶこともあります。
それらはその技術の仕組みを学ぶには良いと思います。しかし、すぐに実際の開発でフルに使うことは、開発規模が大きければ大きいほど、厳しいのではないか、というのが個人の意見です。

終わりに

ここまで、Progateで学んだ感想と注意点を書いていきました。

注意点もいくつか書きましたが、Progateは初心者の学習にぴったりだと思います。

自分は、分かりやすく、堅苦しい雰囲気もなく、楽しく学べました。

プログラミングを始めるか迷っているならば、とりあえず無料会員登録をして、どれかレッスンをひとつ、やってみればいいと思います。

最後にProgateのリンクを再度載せておきます。

この記事が少しでもお役に立てたのなら嬉しいです。

最後まで読んできただきありがとうございました。