町外れにある無人の館

そこにはお化けが出るという噂があった

#Progate やってみた感想の続き

f:id:bo_yakitarako:20200815125157p:plainf:id:bo_yakitarako:20200815125203p:plain

前回から更にProgateをやり続けて、ついに全コース終了しました!いや〜長かったね。

んで、全コースを1度ずつ完了したときのステータスはこうなりました!

f:id:bo_yakitarako:20200815125717p:plain

これ演習1つ1つに全部スライドで説明ついてるって考えたらやべえな。ナニモンだよって感じでもとりあえず運営の方々にはお疲れさまですと言いたい。良質なコンテンツをそんだけの量用意してるんだからマジですごいですよ。ありがとうございます!

全体的な感想は前回から変わってないので、今回は各コースごとの感想を簡単に喋っていくっ!をやりたいと思います。

HTML & CSS

めっちゃ良かったです。学習コースは説明が丁寧で、サイトがだんだん出来上がっていく高揚感がたまらなく気持ちよかった。

俺が実際にサイト作ってたときに使ってたタグとか機能はだいたい網羅してたので、道場コースができるようになれば自分のオリジナルサイトをいい感じに作ることができるのではないでしょうか?

それにしても道場コースのいきなり荒野に放り出された感はすさまじかったけど。道場コースが難しいと嘆く人が続出してんのも納得できます。

JavaScript

うーん、微妙。ES5のほうはネットですぐ手に入るようなものしか無いのでマジで金払う価値ないです。

ES6のほうもまとまってはいたと思いますが、前回言ったようにletconstの紹介の仕方が良くなかったり、もうちょっと言うことあるだろと感じたりすることが多々あります。

分割代入やスプレッド構文、async/awaitやジェネレータ関数といったES6以降のJavaScript特有の表現は一切紹介されていないので、あまり他言語との差はありません。PythonやらPHPやらJavaやらのコースを1つでも終了していたらあまりやる必要はないです。

jQuery

動的なWebページが構築されていく流れであったり、jQueryでよく使うメソッドがわかりやすく身につくので良かったと思います。

ただ、俺はjQuery不要論者なのでこのコースが用意されている時点であまり良い気はしませんでした。未だに案件でもjQueryがよく使われてるらしいし、いい加減SPAの時代に合わせて仮想DOMを受け入れていきませんか?

Ruby

Progateやるまで触ったことが無く、Progateができるんならせっかくだし触ってみようっていうスタンスでやってみたのがRubyだったので個人的にはためになりました。

巷ではサーバーサイドはRubyが初めてという方が多いらしいですが、その理由もなんとなく理解できます。初めてやるならわかりやすいかも。

わかりやすいんですが、基礎的な文法にRuby独特の表現を用いることが多く、あんまり好きにはなれませんでした。そもそも動的型付け言語がそんなに好きじゃないってのもある。

Ruby on Rails

こちらもRuby同様、Progateで初めて触りました。すごく実践的にWebアプリを作ることができるのでめっちゃ良かったです。

流石に俺自身はこれまでいくつものサービスを1から作ってきたのでそこまでの達成感は得られなかったけど、Progateでプログラミングを始めたって人がこのコースやってWebアプリ作ったときの達成感は凄まじいものになるのではないでしょうか。

プログラミングの醍醐味とも言えるその達成感を存分に味わうことができるコースです。レッスンの数は他よりかなり多いけど、これも実際にサービス構築しながらやってるんだからそうなるよね。仕方なし。

でも、HTML & CSSと同様に道場コースはかなり厳しいと思いました。あれをプログラミング始めたての人がやるにはキツすぎます。できるようになる頃にはいい感じになってそう。

PHP

微妙です。基本的な文法やってからお料理注文サイトみたいなの作りますが、Railsほど凝ってないのであまり実感は湧きませんでした。基本的な文法も他の言語とやってること変わらないのであまりやる価値は無いです。

Java

PHPJavaScriptと同様に、あまりやる価値はありません。そもそも入ってるJavaのバージョンがJava8だったのでJava9以降の機能は何も無く、他言語との差はありません。var使って書く量減らしたかったのに使えなくてイライラしちゃった☆

全体的にそうなんだけど、Progateってオブジェクト指向の説明めっちゃ押してくるんですわ。それはまあ良いんだけど、あんだけオブジェクト指向押しておいてinterfaceポリモーフィズムの説明をなんもしないのは良くないと思いました。継承や抽象クラスまでやるのになぜinterfaceまで踏み込まないんだ...!

Python

PHPJavaScriptJavaとおんなじ具合です。それらやってたらわざわざProgateでやる必要性は感じません。

個人的にnumpyの行列計算で行列とスカラーや行列と行列を掛け算するように書いてもちゃんとやってくれるのとかリスト内包表記とかかなり衝撃だったし、そういうのこそPythonのすごいところだと思うんだけど、そういうのは何も紹介されてないです。意味無し。

Command Line

うんち

Git

これ必要あるのかなぁって感想。これはProgateが悪いというかGit自体が実務で触れてみないと恩恵が感じられないからという理由故です。

ひつじ仙人とにんじゃわんこでリモート開発みたいなことやって、なるべく実感が得られるように工夫していましたが、あまり実感は湧きませんでした。

実務で実感得ながら学べば良いと思います。

SQL

これに関してはかなりやりごたえがあり、とても勉強になりました。

SQLだけでDB操作やるのが苦手というのもあると思いますが、長いクエリ文を書いてデータ解析を行う道場コースは他のコースでは中々味わえない大変さがありました。

他コースでここまで複雑なクエリ文を書くことは無かったですが、他コースをやる前に学んでおいても損は無い価値のある良いコースでした。

Sass

Sassを短時間でパパっと知るには良かったです。まあSass自体がそんなに難しいものじゃないからProgateでやる必要はないかもしれないって程度ですかね。

Go

GoもRubyと同様にProgateで初めて触れましたが、JavaPHPと同様に微妙です。クラスの概念が無いのか、ES5版のJavaScript程度しか内容はありませんでした。ググれば十分そう。

React

カスです。

まず、クラスコンポーネントはもう時代遅れでReact Hooksへの移行が進んでるのでクラスコンポーネントが紹介されて、Hooksは何も紹介されていないのを見て激萎えしました。React公式でHooks使えって言ってんのになぜ触れもしないでいつまでもクラスコンポーネントでやってんの???

Reactと来たらstate管理としてReduxを筆頭としたFluxアーキテクチャも一緒に学ぶべきですが、何も学べません。ただただ「それReact必要ある?」みたいなフォーム送信ページを作るだけです。

所感としては「へーJavaScriptの中でHTMLみたいなの書けるんだへー」くらいがなんとか分かるくらいです。WebpackやBabelの説明や環境構築にも一切触れないので突然bundle.jsをscriptタグでいきなり読み込んでて????????ってなりました。

Reactを支える周辺技術もReactを学ぶ上で知っておくべき概念でしょう。しかし、その説明は一切無しです。「なんやかんや変換されてHTMLになるんじゃ」みたいな感じに書かれてました。ハハッ

三項演算子が使えなくて無駄にletで宣言してたり、分割代入が使えなくてthis.state.contentなどをいちいち書いたりと普段当たり前にやってることができなかったりでイライラが積もっていったのもあります。まあやる価値はマジで無いですね。

Node.js

npmに少しだけ触れてはいましたが、Node.jsというよりかexpressのコースです。「expressでWebアプリ基本」みたいなコースです。DB接続やテンプレートエンジンなども全部expressのやつで、expressを学ぶには良いと思いました。名前はexpressにしたほうがいいですね。

おわりに

特にないよ。締めるだけ。ほいじゃの〜