「Perl入学式 2014年度第1回 in東京補講」に行ってきた #Perl入学式

tl;dr Perl入学式にサポーターとして参加した。想像以上に楽しんだ。2つにセパレートされたうちの1つの部屋で提供したお役立ち情報があるのでここにも書いとく。ついでに自分がよく参考にしてる本も書いとく。その他芋づる式に思い出したことも書いとく。

この土日(2014/5/31&6/1)はマイ・プログラミング・フェスでした。

まず土曜には「Perl入学式第3期第1回in東京補講」。
そして日曜には「Github Kaigi」in 渋谷@サイバーエージェント社。
どちらも大変良い時間でした。関係各位、ありがとうございました。

前の記事にも書いた気がしますが、ほんとにこのところは仕事が大変で大変で・・てグチみたいですけど、でも仕事が大変ってのは(ブラック的な意味だとまた別かもしれないですがそれとはちょっと違って単にプレッシャーとかすごい的な意味なので)ありがたいことで、でもありがたいけどキツイのはキツイので! ということで(なのかどうか)とにかく全然関係ないというか別のところに高エッジで振り切れるようなことしたい、みたいになるので(自暴自棄という意味ではなく)それで前々から計画してたこれらには予定通り、連日参加しました。それも泊まりこみで・・

で、この記事ではフェス1日目のPerl入学式について書きます。
2日目のGHK(略した)も濃ゆかったので別途書きたいです。

さっそくですが(でもないですが)、昨年8月末の第3回補講から通っておりましたPerl入門者のための定期講座「Perl入学式」。今年の3月末にひとまずその第2期(2013年度)が終わり、4月から第3期(2014年度)がスタートし、その初回の補講(初回講座に来れなかった人が受講できるよう開催されるもの)のin東京があったので、行ってきました。
で、今回私は受講生ではなくサポーター枠。建前的には「教える側」です。

このブログに書いてあることなど読んで頂けたら、「教える側」はナイだろ〜と思われるかもしれないですが、いや誰にも思われなくてもぼくはそう思うわけですが、上で「建前的には」と書きましたように、実際のサポーターというのは「知ってる人が知らない人に、上から下へ物を受け渡すように「教える」」のではなくて、なんというか悩める受講生さんにとっての「相談相手(以前に同じ経験をしているのでその意味では頼りになる)」のようなものなので、そういうものとして行ったのだな、ぐらいに思ってください。

3月末の第2期修了式の際にも、校長のpapixさんからは「OB/OGはぜひ今度はサポーターとして来てください。ウェルカムなので」と言われていましたが(参加者の皆が)、その流れもあって5月半ばぐらいに「行けそうなのでサポーター枠で参加したい」と伝えたものの、それってべつにそういう「教える」的なことが「できる」と思ったからではなくて、ようは第2期ですごいお世話になったので、何らかその恩返し的なことができたらなあ、という気持ちがあったのと、あとは単にやっぱりエンジニアの人たちとの繋がりを持っていたかった、その世界と今俺のいる世界とを別々にしたくなかった、みたいなこともあったからで、言い換えると、その人たち(エンジニア/プログラマー)が何を考えていて何に興味を持っているのか、とかをリアルタイムで知ったり感じたりできる場所として関わりたいというのもあったからで、だから実際にぼくに現場でできることがあってもそれは、せいぜい会場設営とか、「もう一人お手伝いがいれば簡単にできるのにスタッフ(ここではサポーター)が足りなくて超効率悪い!」的な状況(現場系ではよくある)において、たとえば初めて来られた受講生の人が慣れない環境で「あ!手伝いますよ!」とかやってくれる状況もそうそうナイであろうことを想定するなら、そういう要員として動けるぐらいかなと思っていたし、

むしろより強く想像されたのは、「生徒さんから質問されたけどこれ俺にも全くわからねえ・・どっちかというと自分の方がずっとコンピュータとかの基本知らねえ・・」みたいな、恥ずかしさやイヤな汗に包み込まれるような時間を味わうことになるのでは、ということで、でもまあ、「それもまた経験だ!(あとできっと何かの役に立つ!)」という言い訳を自分にしながら行ったのですが、

終わってみると、なんと自分ぐらいの知識や経験でも、想像していた何倍もお役に立てたような実感があり、たぶんもっと積極的に動いたらもっと得るものはあったのではないかとも思うけど、今回はだいぶおっかなびっくり動いたと思うのだけど、それですら案外、

受講生の方「すみません〜(と呼ばれる)」
俺「ハイハイ(とそばに行く)」
受講生の方「こうなっちゃうんですけど・・(エラー的な何かを指す)」
俺「ふむ・・ああ、もしかしてこれの問題では? ちょっとこれやってみましょうか(対処法を提案)」
受講生の方「あ、できた」
俺「お〜!(超うれしい)」

みたいなやり取りが幾度かあったり、また俺のターンでハマっても、

受講生の方「こうなっちゃうんですけど・・」
俺「むむ・・(見たことない事象・・わからん・・普段ならググって何時間でも解決法探すけどここでそれやるのも違うな・・どうしよう。とりあえず先輩のサポーターさん呼ぼう)ツッチーさん!」
ツッチーさん(先輩)「ハイハイ」
俺「こうなっちゃうんですけど・・」
ツッチーさん「ふむ・・ああ、もしかしてこれの問題? ちょっとこれやってみましょうか」
受講生の方&俺「あ、できた」
皆「お〜!!」

みたいな感じで基本万事解決していくのでそれが何だかすごい楽しかった。

今回は前半が環境構築で、後半がPerlPerl入学式のガイダンス。で、最後にHello, World等の演習をしてオワリ、みたいな感じだったけど今後は具体的なプログラミングらしいプログラミングをしていくことになるだろうから、よりそういうやり取りが増えそうで大変楽しみ。
ぼくは6&7月は仕事のほうが死のロードになりそうでその辺は参加は難しいかもしれないけど、ちょっとでもスキがあればぜひ飛び込みたいと思っています。

環境構築作業の間には、DLやインストールをただ待つ時間などが発生して、先輩サポーターの皆さんのお話しもだいぶ出た後に、まだ時間ある、という感じだったので、どうしようかなー差し出がましいなあ、とも思いつつ、まあそれでも誰かの役に立つ可能性あるし、ということでPerl入学式を受講する場合のお役立ち情報を簡単に共有しました。
ぼくが居た&話したのはMacユーザーの環境構築用の部屋であり、Windows&
Ubuntus部屋のメンバーには共有されていないので、そちらの人たちにも知らせる意味であらためてザクっと書いておくと、

1)Perl入学式のメインサイトはこれ。
http://www.perl-entrance.org/
まあ、Googleで「Perl入学式」と入れたら大抵最初に出る。
 
2)んで、各回の内容を復習したい時とか、あるいは忙しくて出れなかった人が自宅学習したい時とかには、そのページの上部バーにある「資料(2014年)」てところから以下に飛べば資料へのリンクがある。
http://www.perl-entrance.org/2014/handout.html
 
3)あるいは、ちょっと進捗のヨイ人が先回りして、今後どういうことを扱うんだろう?とか言うときには、同じく上部バーから前年の内容「資料(2013年)」に飛べばいろいろある。
http://www.perl-entrance.org/2013/handout.html
 
4)ただし、2013年などの過去資料を見る際、日付入りのリンクを踏むと、それは講座のときのためのスライド資料(紙芝居的なやつ)に飛ぶので
http://www.perl-entrance.org/2013/handout/perlentrance06/index.html#/title

これは説明を聞きながら見るにはいいんだけど一覧性が悪く、独習には向かないので、その下の「資料(markdown) 」てやつを踏むべし。
https://github.com/perl-entrance-org/workshop-2013-06/blob/master/slide.md
 
5)さらに言うと、これって結局GitHubにUPされている公開資料なので、欲しい資料&読みたい資料は初めからPerl入学式のGitHubから辿ればいいっちゃいいとも言える。
https://github.com/perl-entrance-org
 
6)その際の資料への行き着き方としては、たとえば「2013年度第5回」の資料を見たい、とかなら、GitHub上のPerl入学式のトップ(上記直近リンク)から「workshop-2013-05」をクリック。
https://github.com/perl-entrance-org/workshop-2013-05

その中の「slide.me」をクリック。
https://github.com/perl-entrance-org/workshop-2013-05/blob/master/slide.md

以上。
 
7)回によっていろんなファイルがあるけど、基本的には各回の「slide.md」を開けばヨイ資料がそこにある。なので、先回りして予習したい人や現場に行けなかったリモート独習の人はそれをじっくり、過去分も好きなだけ閲覧しながらやればよい。
 
8)ある意味では、そのように先にやっておいて、Perl入学式の現場はそれの「復習の場」として活用するぐらいでもいい。そのほうがむしろいいかも。というか俺はそうだった。

みたいな話をしました。

その場に居た印象としては、すでにある程度プログラミング経験のある方などもおられて、状況によっては2階級特進的にどんどん進めた方が体にあってる、みたいな人もいる雰囲気もあったので、その辺も含めてそのような話題をシェアさせて頂きました。

その流れで言うと、同回には後半、ちょっと時間が足りなくてスライドの面白いところを講座中には辿りきれなかったところもあったので、余計にそのあたり、できる人はカバーしておいてほしいですね。
場所的にはこの辺以降でしょうか。
https://github.com/perl-entrance-org/workshop-2014-01/blob/master/slide2.md#%E3%82%88%E3%82%8A%E6%B7%B1%E3%81%8F%E5%AD%A6%E3%81%B6%E3%81%AB%E3%81%AF

あとは同じ流れでてつじさんのこちらの記事も大変参考になるかと思います。
http://post.tetsuji.jp/2014/04/2014-perlentrance-tokyo-1/

上記のスライドのほうで、参考書籍がまとめられててかなり参考になると思いますが、末席ながら僕なりの参考書籍をあげますと、以下3冊でしょうか。

結城浩『新版Perl言語プログラミングレッスン入門編』
http://www.hyuki.com/pb/
・木本裕紀『業務に役立つPerl
http://gihyo.jp/book/2012/978-4-7741-5025-3
・平松和剛『雅なPerl入門 第2版』
http://kazhiramatsu.hatenablog.com/entry/2013/12/27/122935

これらはどれも何度となく「あれってどうなんだっけ?」という時に開いた本で、開いた順に選ぶとこの3冊、という。とはいえ3冊の中では順不同(どれが1位とかではない)です。

『雅なPerl入門』はAmazonとかでは売っていないですが(最新作の第2版はpapix校長にコミケで買ってきて頂きました)そもそもぼくが初版を買ったのは去年のYAPCでしたし(後述のリンク参照)、今年のYAPCに来たら著者さんからさらなる最新作を直販で買えるかもしれないですね。(無根拠な予測です)

あ、あと最近だとtokuhiromさんのこちら、ちょうどここ数日読み返していました。(おもにTest::Moreの勉強)
http://blog.64p.org/entry/2012/11/12/094307

上記リンクを読み直して気づきましたが、こちらはgumroadでepubも買えるんですね。Kindleで買っていたけどお手頃なのでepub版も買いました(今)。

とはいえ、講座が終わった後の懇親会でもちょっと話題になったんですが、僕の場合はやっぱり何と言っても一番基礎みたいになった参考書はPerl入学式の資料ですね。
個々のトピックが全部、いわばエピソード記憶として頭に染み込んでるので「ほら、あのとき・・ああいう感じの部屋(会場を提供してくださった会社さんのセミナールームなどの風景を思い起こしつつ)で、あの人から聞いたあの話、なんだっけ・・」とかいう順番で芋づる式に思い出していくと、結局そのときに眺めていた資料が一番記憶から呼び起こしやすくなって、それで「ああ、そうかfor文とif文ってそういう違いなのか」とか何十回も同じ資料を見ながら同じ納得をしたりして。
んで、でもPerl入学式の資料はほんとに美味しいところだけ凝縮したような内容でもあるので、そこで省かれた部分を上記のような本で補って、みたいな感じで当たっていった&いるかな・・

話を一気に戻すと、自分はまったく、プログラミングとかってまだ全然知らないことばっかりで、人様に「これはね・・」なんて教えられることはひとつもないと思っていたし、実際やっぱりナイと思うんだけど、それでも事前に想像していた何倍も、なんか貢献できた気にはなって、それが意外だったし嬉しかったですね。

受講生の人も十人十色というか、いろんな指向があるだろうから、最初からスーパーハッカーみたいな人に教わりたいよ〜という人もいたかもしれないけど、でもなんか同時に、そういう感じだとちょっと聞きづらいみたいなこともあったかもしれず、むしろわからない同士だからこそ、普通なら「こんなこと恥ずかしくて聞きづらいんですけど・・」みたいな(バックスラッシュの出し方とか!Macの人なら「option(alt)+¥」ですよ!)ことが聞きやすくなるようにも思われ、そういうときにはなんかかえって、より頼りにされうるのでは? とすら思いました。

一方で、「こんなこと恥ずかしくて聞きづらい」というのも全然悪いものではないなあ、とも思って、なぜならその感じが受講生同士での教え合いに繋がるきっかけにもなる、というケースがいくつか見られたので、そういう場合は「なになに?」とかすぐには聞きにいかず、受講生同士での教え合いの様子をちょっと遠目に見てから、あまり目覚ましい進捗がなさそうだったらじりじり近づいて「どうですか」とか聞いてみたりとか。そういうことしていました。

自分は今も初心者だけど、だからこそというか受講生の皆さんがどういうところで「?」と思っているか、とかがより実感的に「そう!そこ謎だよね〜!」とかキャッチしやすいと思うので、そういう意味でも何というか居る意味はあったのかなー、そして楽しかったなー、という感じでした。

最後になりますが、関連記事的な感じで以前に書いたPerl入学式絡みの長めの過去記事を紹介しておきます。
あとそうだ、これまで不定期でリサーチしてまとめたPerl入学式関連のリンク集もあるので、それも置いておきます。このリンク集のほうはもしかしたら別途リポジトリとかに移して受講生同士のプルリクの練習用とかにしてもいいかもしれないなあ、と少し思っています。

Perl入学式関連ブログ記事
Perl入学式#3補講に行ってきた - 103
YAPC::Asia2013に行ってきた - 103
#Perl入学式 第2期最終回&修了式に行ってきた&LT発表した - 103
 
Perl入学式勝手リンク集
https://github.com/note103/perl-entrance-homework/blob/master/Links.md

以上です!