先日『PHP/Laravel入門講座』をリリースしてから、
1か月もたたない間に、あれよあれよと100件以上申し込みがありました。
関連記事
『PHP/Laravel入門講座』をつくるにあたり、
考えていたこと、心がけていたことを書き連ねていきたいと思います。
プログラミングが難しい理由その1 優先順位がわからない
ツイッターでも発信をしました。
#プログラミング初心者 にとってわかりづらいと思うのは、コードの使う頻度や優先順位。
参考書はだいたいひらめったく『全部大事だよ』的な表現してるので、
『いやそれほとんど使わないでしょ』ってツッコミをいれつつ、よく使うものを抜粋しないとしんどくなる。言語のキュレーションが必要です。— 世界のアオキ🥑プログラミング×生涯学習×熊本 (@aoki_monpro) February 26, 2020
#プログラミング初心者 にとってわかりづらいと思うのは、コードの使う頻度や優先順位。
参考書はだいたいひらめったく『全部大事だよ』的な表現してるので、
『いやそれほとんど使わないでしょ』ってツッコミをいれつつ、よく使うものを抜粋しないとしんどくなる。言語のキュレーションが必要です。
なので、
『PHP/Laravel入門講座』はできるだけ、
- よく使う機能
- 知っておいた方がいい機能
を抜粋して、できるだけ簡潔に伝えるように気を付けました。
結果的に説明が不十分かも、と思う箇所もあるにはあるのですが、
全体的にはほぼほぼいいバランスなんじゃないかなと思っています。
プログラミングが難しい理由その2 専門用語がわからない
プログラミングだけに限らずと思いますが、
技術関係の記事というのはとにかく専門用語だらけ。
専門用語で書かれていて、
それを調べると専門用語で説明されていて、
さらに調べて専門用語出てきて、とオンパレード。
もちろん専門用語がわかった状態であれば
これほどすっきり書かれた文章もないんだろうと思いますが、
プログラミング初心者から見てみればまさに『宇宙語』。
なにがなんじゃらほいな状態になるのも当然で。
なので、
とにかくできるだけ専門用語は使わず、
カタカナ用語であれば英語と日本語訳をセットにして解説するように心がけました。
結果的に『わかりやすい』というご意見をいただけているので、
方針としては間違ってなかったんじゃないかなぁと思います。
プログラミングが難しい理由その3 関数多すぎ問題
プログラミング言語によると思いますが、
言語によってはあらかじめ準備されている『関数(メソッド)』がたっぷりあって。
例えば『PHP』の『配列』関係の『関数(メソッド)』は、
ざっと100個くらいあります。
『Laravel』の『コレクション』用の『関数(メソッド)』も同じく100個くらいあります。
参考書の中には丁寧にイチから解説している記事もたくさんあるけれど、
正直なところ、
なので僕の講座では、
一つ一つの関数を掘り下げるのではなく、
ざっくりとした使い方や考え方にフォーカスして
伝えるようにしています。
『関数(メソッド)』はつまるところ、
- インプット
- 処理
- アウトプット
の3つだけで構成されているので、
その考え方がすっきりと理解できれば、
どんな関数でも(ちょっとググれば)使えるようになるはずなので。
関連記事
プログラミングが難しい理由その4 オブジェクト指向がわけわからん
最近では『関数型言語』もでてきてはいるのですが、
まだまだ『オブジェクト指向』のプログラミング言語が多数をしめている状況で。
『オブジェクト指向』と呼ばれている言語はわかっているだけで、
- PHP
- Ruby
- Python
- Java
- C++
- C#
- Swift
- Kotlin
- JavaScript(クラス使うなら)
きっと他にもたっぷりあって。
『オブジェクト指向』は確かに難しく、
使いこなせるようになるには場数がいるなと思っているので、
今回の『PHP/Laravel入門講座』では、
簡単な使い方をザーッと解説した後は、
『Laravel』内のコードの読み方などを解説するに抑えています。
個人的な体験談として、
イチからオブジェクト指向なプログラミングを書くのはかなりしんどくて、
それよりも、
すでに出来上がっているコードを読んだ方がはるかに身になると思っているので。
ある程度 概要がわかった段階で、
知識を補完する形で、
『オブジェクト指向』に特化した本を読んだりして、
少しずつ身につていくしかないんじゃないかなぁと思っています。
『オブジェクト指向』おすすめ本はこちら。
プログラミングが難しい理由その5 いきなり難しいのやりすぎ
- 『PHP』なら『Laravel』
- 『Python』なら『Django』
- 『JavaScript』なら『Nuxt.js』など、
とっても便利なフレームワークが登場してきて、
実際の開発にもフレームワークがどんどん取り入れられている状況なので、
プログラミング初心者としても、
いきなり『Laravel』や『Nuxt.js』をやりたくなる気持ちはとってもわかるんだけど。
実際に僕もそうでした。
いざプログラミングをやっていくうちに、
土台となる『PHP』や『JavaScript』、
さらには『HTTP』や『WebAPI』あたりの知識が必須だということに気づいて、
結局最初からやる羽目になったりして。
『Laravel』や『Nuxt.js』はたくさんの技術が土台になっているので、
それらをないがしろにしていきなり始めようとしても、
結局回り道になるよなぁという体感があります。
今回の『PHP/Laravel入門講座』ではできるだけ、初歩の初歩から、
『Laravel』を使う上で最低限知っておきたい知識までを
ざーっとまとめた構成になっているので、
プログラミング初心者の方から見ても、かなりわかりやすいんじゃないかなと自負を持っています。
プログラミングが難しい理由をまとめてみて
プログラミングに慣れた人はほぼほぼ、
- マニュアルじっくり読む
- ググる
の2つだけで事足りるというのですが、
プログラミング初心者の場合は、
マニュアルは専門用語だらけで読みづらいし、
ググっても新旧情報おりまざってどれが正しいかわからないし。
という状態だと思います。
今回の『PHP/Laravel入門講座』に限らず、
ある程度プログラミングの経験があって、
教えるのが好きな人はぜひ、
100万の情報の中からとっておきの100を選ぶというような、
キュレーション的な役割を担って、
より良質な『プログラミング講座』が増えればいいなぁと思います。
関連記事
PS.
ご要望あり、次回は『JavaScript入門講座』をつくることにしました。
ただいま構想ねりねり中。夏前にはリリースできるよう頑張って情報整理しております。
この記事へのコメントはありません。