おはようございます。 若林(@nqounet)です。
仕事の関係で福岡にしばらく滞在していたのですが、その間に「よなべPerl」という勉強会で講師をしてきました。
よなべPerlとその主催者の紹介
「よなべPerl」は@hakata_oyuki さんが主催する勉強会です。
未経験者からIT企業への就労、フリーランス希望の方まで対象にし現実的なアドバイスをしながら、webアプリケーション開発を通じてプログラミングスキルアップをしてゆきます。 よなべPerlとは : よなべPerl
先日の勉強会については、既にレポートが書かれているのでそちらもご覧ください。
私もそうですが、@hakata_oyukiさんも、もともとIT系の会社に勤めていたわけではなく、独学でプログラミングを勉強してきた方で、同じ道を志す若者にたいして教育の場所を作りたい、といつも熱く語っています。
今回は、Perlでのオブジェクト指向プログラミングを、Mooというモジュールを用いて勉強しました。
独学の壁
独学の難点は、壁にぶち当たった時にどうすればよいのかわからなくなることだと思います。
オブジェクト指向を解説する例えとして人間や動物が使われることが多いと思います。おそらく、継承やクラス、インスタンスの概念についてはなんとなくわかった気になれると思います。
しかし、それだけで掲示板のスクリプトをオブジェクト指向で書くことは難しいと思います。
私がオブジェクト指向を学んでいた時は、何をオブジェクトにするのか、まるでわかりませんでした。掲示板の中にオブジェクトの概念を入れる方法がわからなかったんですね。
オブジェクト指向のアプローチは、手順通りに作るスクリプトとはまるで違うので、どのように作るか、どのように使うかがわかりづらい。
こういった時に、その壁を乗り越える方法を独学で導き出すのは相当大変だろうと思います。
そんな壁でも、ちょっとしたアドバイスで乗り越え方がわかったりしますので、今回の勉強会がそのきっかけになれていれば嬉しいです。
内容の振り返り
Perlの場合は、その書き方もわかりづらかった。
オブジェクト指向自体が抽象化できていなかったんですね。
今回は、(希望もあったので)blessを使った従来のクラスの作成方法もやりましたが、Mooを使ったほうが圧倒的に作りやすいことを理解してもらえたようです。
圧倒的に作りやすい、ということが実感できるのは良かったのですが、やはり時間を考えると省いても良かったかなと思っています。
おかげで後半は座学中心になってしまい、かなり難易度が高くなってしまったと思いますが、何かしらの感触は得ていただけたようなのでホッとしています。
まとめ
同じことがより簡単にできるようになるので、これからPerlでオブジェクト指向プログラミングを勉強するなら、blessについては全力でスルーしてMooを使いましょう。
クラスを定義する時に使えるモジュールはMooだけではありませんが、用途に応じてちゃんと選べるようになるまではMoo一択で良いと思います。
みなさんもMooを使ってオブジェクト指向プログラミングを楽しみましょう。