エンジニアの採用面接をしていると、「どうやってプログラミングを勉強すればいいですか?」と学生から聞かれることがあり、そんなときは「Progateとかが良いよ」と答えてました。
軽く利用してみたところ、初心者にとっては難易度の高い環境構築の手配をスキップして、コードを書く勉強ができるため、プログラミングがどんなものか把握するには良いサービスだと思ったからです。
ただProgateをやったのはもう何年も前で、今のProgateと昔のProgateは同じかがちょっと自信なくなってきました。ということで改めて無料レッスンをやってみました、その感想を書いていきます。
目次
そもそもProgateとは
オンラインでHTMLをはじめ、プログラミングを学べるWebサイトです。
自分がプログラムを勉強しだしたころには存在しなかった勉強の仕方で、随分プログラミングに触れるハードルは下がったものだと感じたものです。※初心者にとってプログラミングするための環境構築は結構難しい
Webサイト上で構文説明を確認し、ブラウザ上のエディタを介することで、実際にプログラムが動くか、プレビュー付きで確認することができます。
サクッとプログラムに触れることができるし、いろいろなプログラミング言語を無料で学習できるので、間隔をつかむには十分だし、参考書を買うよりイメージをつかみやすいかと思います。
学習したPHPレッスン
PHPは5つのコースに分かれていて、コースごとに章立てがされ、「条件分岐」の章や「繰り返し処理」の章など、細分化された項目に分かれています。
最初の「PHP I 」は、基本構文からメールフォーム作成を勉強できます。
目安時間は4時間と短め、基礎の基礎と考えればこれぐらいかもしれません。
他コース4つは、最初の内容こそ無料ですが、有料が大半を占めるため、すべてのレッスンを受講することはできません。
今回は無料で試せる「PHP I」をやってみました。
無料のPHPレッスンをしてみた結果
とりあえずかかった時間は以下の通り。
勉強した日 | 現在の勉強項目 | 合計勉強時間 |
---|---|---|
2021年04月19日 | 8. &&, || | 15分 |
2021年04月24日 | 16. foreach文 | 55分(+40分) |
2021年04月25日 | 24. フォームを完成させよう | 95分(+40分) |
合計でかかった時間は1時間35分。
目安時間4時間よりだいぶ速いのは、まあ経験者だからでしょう、、、構文説明などはそこまで読み込む必要がなかったこともあったため、初心者が実際にやる場合は、確かに4時間ぐらいかかるかもしれません。
良かった点
分かりやすいスライド、ページ構成
- わかりやすい説明スライド
- エディタを使ったプログラミングテスト
の順で構成され、ひとつひとつの説明ページは情報量もちょうどよく見やすい。
そのためすんなり学んでいけるものと思います。
エディタ画面はプレビューがあるので、自分の書いたコードがどう反映されるか確認ができ、実感もわきやすいと思います。。
プログラミングテストは、穴埋め形式のような感じで、ソースコードの空欄をコメントの指示に沿って埋めていく形です。ソースコード内のコメント以外でも、画面左に指示事項が書いてあるため、「問題がよくわからん!」ということにはならないかなと思います。
全くの初心者がプログラミングを学ぶ導入としては十分役立つものと感じました。
悪かった点
正解と判定されるコードの書き方が限定的
途中から難易度が上がるにつれ、回答に至る手段(コードの書き方)が限定的になってくるのは気になりました。
「24.フォームを完成させよう」は特に顕著で、$typesを使ってselectメニューを作成するのはやや苦労しました。
$typesをforeachで回してoptionタグを作成するのですが、$typesの中身を出力するとき、「$typeという変数でechoしなければならない。」となっていて、例えば、以下は目的が果たせても、変数が$valなのでエラーします。
foreach ($types as $key => $val) {
echo "<option value='{$val}'>{$val}</option>";
}
$val変数を下記のように$type変数に名前を変えることで、エラーを解消できます。
foreach ($types as $key => $type) {
echo "<option value='{$type}'>{$type}</option>";
}
画面左の「手順」を見ることで$typeを用いた出力例が載っているのですが、使うのがマストであることを認識するのは難しいなと思いました。
正解と判定されるコードでなかったときのエラーがわかりにくい
「正解と判定されるコードの書き方」ができなかったときエラー扱いとなるのですが、「〇〇してください」と出ます。しかしそれが構文が間違っていたのか、書き方が間違っていたのかを判断するのは結構難しいなと。。。
もし使う変数名が間違っている場合は、「変数名は〇〇を使ってください」としてもらえるとありがたかったですね。。。
まとめ
「PHPはどんなものか」みたいなものは別のところでサクッと概要だけ調べて、「じゃあどうやって書くの?」、「何ができるの?」ってところを抑えるためにProgateを使うというのはかなりアリかなと思います。
プログラミングは参考書や、説明だけ見てもなかなか身につかないので、実践する場があるProgateは学びやすい環境ではないでしょうか。