フレームワークと言語、どちらを先に学ぶべきか
よく話題に上がる話ですが、個人的には言語の基礎を抑えてからでないと、フレームワークは使わない方がいいと思っています。
そう思った理由は、僕自身の体験からです。
今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」
↑の記事はとても有名ですが、学習初期の頃は「古い人が喚いているだけだな」と思っていました。しかし、今になってこの記事の言いたいことがよく分かります。
今回は、プログラミング初心者向けに、フレームワーク学習と言語学習どちらを先にすべきなのか、僕自身の体験談からお話します。
フレームワークを先に覚えると後に痛い目を見る
実は僕もまさに先程の記事通り、学習初期の頃は「Ruby on Rails」を勉強していました。
Rubyの基礎をすっ飛ばして、HTML/CSSを齧ったレベルでRailsチュートリアルやRailsアプリの作成に手を出し、「簡単じゃん」と調子に乗っていました。
しかし、実際にエンジニアとして現場に出ると、通用しないことが山程出てきました。
|
こういった、エンジニアとして当たり前の基礎を、Railsのみの学習では殆ど身につけることが出来なかったからです。
最初、SQLでデータを読み出すことさえ出来なかった時はマジで失笑物でしたからね。
とまぁ、このように僕自身フレームワークに先に手を出してしまった身としては、素直に言語から学びましょうということを強く主張したいです。
プログラミングの研修で、最初Javaから入る会社が多い理由が分かってきました。
やっぱり最初は、静的型付け言語で基礎をみっちり学んだ方が、後々の成長も早いですよね。
それに、テスターとしての経験も開発エンジニアとして成長するには重要なステップ。テスト仕様書を作ることでアプリケーションの全体像の理解が深まりますから。
Laravel学習前に習得すべきPHPの基礎
本題に入りますが、上記の理由もあってLaravelを学ぶ前に、PHPの基礎をある程度身につけておくことは必要不可欠だと感じます。
ただ、「PHPの基礎」と言われても、基礎力とはどの程度のレベルなのか、わからない方は多いでしょう。ここで、PHPの基礎について定義したいと思います。
以下、僕が考えるPHPの基礎力がある人物像です。
|
上記全てクリアしていれば、Laravelをやり始めてもいいと思います。
習得するには、独習PHPやUdemy
の「基礎だけ学ぶ PHPプログラミング講座」などを一通りこなして、自分で掲示板サイトを作ってみたりするとよいでしょう。
Progateだけでは基礎不足
プログラミング初心者に絶大な人気を誇るProgateですが、ProgateのPHPコースを終えただけでは基礎力があるとはとても言えないです。
というのも、Progateは穴埋め問題のようなものなので、一からコーディングしたりエラーの対処法などを学ぶことが出来ないからです。
実際に僕自身、Progateをやり終えた後にLaravelやり始めたのですが、最初は訳がわからず時間を無駄にしてしまいました。
Progateは学習の取っ掛かりとしては良いものの、「基礎を体系的に学ぶ」という点では、やはり技術書やUdemy
をこなすことが重要でしょう。
Laravel学習前にPHPの基礎を習得しようのまとめ
|
プログラマーとして長期的な成長を考えているのであれば、基礎は先に習得しておきましょう。