103

Perl入学式#3補講に行ってきた

先週金曜の昼ぐらいにTwitterで以下の告知を見て、

翌日土曜のそれに行ってきた。

Perl入学式自体は今度のYAPCで参加するつもりで申し込みも完了しているけど、この秋は仕事がかなり忙しくなりそうなのでYAPC前後だけ集中的に頑張って、その後は作業にまみれてプログラミング関連音沙汰なし・・(俺が)、そしてやったこともすぐに忘れてすべて終わり・・という流れにすごくなりそうだなあと懸念し始めていたので、ここで一旦リハーサルではないけどPerlコミュニティの雰囲気の片鱗でもつかんでおければとてもイイんじゃないかと思い、いくつか業務上の急ぎ案件もあるにはあったが片付けられるかぎり片付けて行った。

すでに2013年分の過去資料にはある程度目と手を通していたし(読んで練習問題も動かしたという意味)、その上であらためてザッと確認してから行ったけど、「ハイ、じゃあ今から練習問題やってみましょう。制限時間は15分ぐらいですかね」なんて具合にヨーイドンしてみると想像以上に頭が働かない。そういう意味でもYAPCの前に現場(というか)を体験できてよかった本当に、と後から何度も思った。

生徒さんが15名強ぐらいでサポーターさん(講師役の方々)が5〜6名ほど。環境は静か&綺麗&備品充実で受講料は無料という至れり尽くせりで、あとは自分の学ぶ気さえあれば何も不自由はないという状況。
13時から17時まで、途中で何度か休憩をはさみながらだけど基本的にぶっ通しで、しかしまったくあっという間に感じた。

序盤から中盤、ハッシュの説明ぐらいまではつっかかりながらも何とかクリアしていける感じだったけど(たぶん単純にそんな難しくないから)、ハッシュの練習問題で「んん?」って感じになり、その後のリファレンスからけっこう苦しくなった。
というかリファレンスの説明や概念についてはそんなに詰まっていない自覚なんだけど、それをもって練習問題に入ると急に、「何も分かってないんじゃないか自分」みたいな感じになってくる。
結局その辺の問題については、解答例を見ても「うーん、たしかにそうなのかもしれないが」というぐらいで今も腑に落ちないまま復習を繰り返している。

といっても、分からなかったからといってネガティブな印象を持ったとかいうことではなく、むしろ楽しい。それ以前のjoinとか配列とかについても、都度こまかく引っかかるんだけどそのツカエが取れたときには「なるほど!」って感じになるし、動かないのにはそれだけの理由がちゃんとある。
必ず理由がある、または必ず答えは出せる、と思ってそれを前にして頭をひねり続けるというのは、感覚として悪くない。山田詠美の「ぼくは勉強ができない」という名作があるけど、その中で母親が勉強のできない主人公に向かって言う「知らないことを知るって、楽しいことだよ」的なセリフ(おぼろげだが)、まさにそんな感じ。

ぼくは勉強ができない (新潮文庫)

ぼくは勉強ができない (新潮文庫)

基本的には事前に作成されたカリキュラム(資料)や練習問題を元に順に進めていく流れだけど、合間合間で(休憩時間とか)ひとくちコラムみたいな感じでPerlにどう触れたらよさげか、みたいな話をサポーターの方々が(とくには @mackee_w さんが)してくれるのでそういった時間からもPerlの空気感が見えてくる気がする。
そういえば、つい数時間前に「Perl関連の情報ならここを押さえとけ」的なブログ記事が出ておりましたが、

・購読しておくと捗る (かもしれない) Perl 関連の情報ソース一覧
http://hachiojipm.github.io/entry/2013-09-09-03.html
・ここをおさえれば Perl 情報通になれるよというサイト一覧
http://blog.64p.org/entry/2013/09/10/163219

まさにこういう話、というよりこの記事の発端はそもそもその時の話だったんじゃないかとすら思われてくる。

Perlを勉強しているのは以前にも書いたようにYAPCに行くからで、YAPCに行くのはVimの話と同じで「楽しそうだから」ということになる。プログラミングを学ぼうと思ったのも大きく言えば同様に「できるようになったら人生が楽しくなりそうだから」ということになるが、であれば必ずしもPerlでなくてもよいところ、なぜPerlかといったらほとんど同じ話の繰り返しだが「Perlをやってる人たちが楽しそうだから」ということになる。

Perlは一般的にRubyPythonに比べて今っぽくない言語として捉えられているように感じていたけど、使い手の人たちがこれだけ生き生きしている時点でそれは中途半端な捉え方だと言える。そこに(コミュニティや概念に)触れているだけでワクワクしてくる。
また実利的な意味でもPerlである程度のことができるようになればプログラミングに関わるやりたいこともできるようになっていくはずだろうと考えている。

講座の話に戻ると、わからない問題、または不明な現象(思ったとおりに実行しないとか)にぶつかったらしばらく無言で考えて、3周ぐらい考えられる可能性をつぶしてもなお光明が見えないとなったら(その間3〜4分)手を上げて、近くにいるサポーターさんを呼ぶ。ぼくのエディタ&ターミナルを見てもらって、コメントを頂く。
サポーターさんはいきなり答えは言わない、というかいきなりじゃなくても答えは言わない。基本「そういう時に何をすべきか」を言う。「エラーを読んでみよう」と言われ、読む。英語なので一緒に読んでもらって、それが何を指しているのか、これも明白にというよりは方向性のような感じで示してもらう。で、その場所をじっと見る・・そうすると、なぜだかわからないが(やや魔術的な意味で)わかったりする。
とにかく気軽にサポーターさんを呼べるのがいい。解決させるためにというより、同じ話題を直接話しながら共有できるっていう、その現象自体がなんというか貴重だと感じる。

またひとつのテーブルに3〜4人ほどの生徒が座ってやるんだけど、生徒同士で「できましたか」という感じで自然にやり取りが始まるのもいい。これがもし大学生ぐらいだったらもっと消極的というかある意味痛い感じだったかもしれないんだけど(少なくとも俺なら)、それなりにいい年なのでそのあたりの積み重ねられた最低限の社交性も状況に味方してくれるというか。

ちなみにどちらかと言うと、やはりというかMac率が高いかなと思った。しかしそれ以上にVim率が高いと感じた。Macが多いのは意外ではなかったがVimがこんなに前提的に扱われているというのは静かな衝撃だった。(といってもこの印象の元になったサンプル数は少ないので実際はわからないけど)

懇親会は近くの居酒屋で、とかではなくその場でピザをとって、あと有志の方々に買い出しに行って頂いて(ありがとうございました!)、そのビールを飲んだりして開催。気楽&低価格でとても良かった。知らない人ばっかりだったしぼく同様にPerl入学式初めての人も多かったようだけど、ここでも案外壁もなく喋って時間を過ごせた。

その終盤に @moznion さんがはてなインターンからの帰りしな寄られて、そのままビール&ピザ&トーク。むちゃくちゃ楽しかった。はてなインターン、またはそれに参加するような人たち、キラキラしてるなあ(←これとても良い)と思ったりしつつ、ぼくとしてはただそんなトークを眺めながら、それでもそのような時間を共に過ごすことによりその後のネット上でのプログラマー諸先輩方によるTwitterやブログ記事などがより実感的に、現実のものとして捉えやすくなったとも思われ、それは大きな収穫だったと言える。

あらためて、校長の @__papix__ さん、サポーターの皆さん、そしてPerl入学式の実現に関わっておられる皆さん、ありがとうございました。今後ともよろしくお願いします!

初めてのPerl 第6版

初めてのPerl 第6版

(↑読んでおくとよいと言われた本。もちろん持ってます)