Perl入学式の感想

これは、[「Perl入学式 Advent Calendar 2017」11日目](https://qiita.com/advent-calendar/2017/perl-entrance "")の記事です。

初めてAdvent Calendarに記事を投稿します。
お手柔らかに。。。
今回は、コードは書かずに自分が参加した際の感想を述べていきます。

## Who are you?
　さて、お前誰よ？と思う方もいらっしゃるかもしれませんので、自己紹介から。
　現在は、某金融系の現場で働くひよっこSEになります。商用UNIXに苦しみながら、趣味の某「娘。」のDVDを鑑賞しながら書いています。
　Perl歴は、だいたい3年ほどになります。基本的な文法などは書けますが、複雑なことになるとちょっと苦戦するレベルです。現場では、ksh,vbs,vba,Perlなどを主に使用しています。

Perl入学式は、過去2回ほど参加いたしました。


## Perl入学式を知るきっかけ
　私、IT業界に入るまでは、映像業界、ファッション業界などで下積み生活をしていました。
　なので、完全に中途組です。。。

　初めIT業界に入った時は、ほぼ知識皆無(職業訓練校でHTML,CSS,JavaScript,PHP,MySQLなどはかじっていました)でした。
なので、サーバのこともわからず監視の仕事をしていました。そこで初めてPerlに触りました。

　そこのチームのシステムは、一部Perlで動いており、監視業務は前後半で交代交代だったので、監視の仕事のない半分はPerlを書くという仕事内容でした。
　その頃のPerlは割と下火で、なんでこんな言語をやるのだろうと不思議に感じていました。
やってもやっても、繰り返しの制御やリファレンスの考え方などが全く理解できず、なかなか進捗はありませんでした。。。

　その現場はインターネット使用可でしたので、よく[サンプルコードPerl入門](http://d.hatena.ne.jp/perlcodesample/"サンプルコードPerl入門")なんかを見ていました。

　そこで、検索していくうちに[Perl入学式](http://www.perl-entrance.org"Perl入学式")を見つけました。


## Perl入学式に参加してみて
　偶然にも[Perl入学式](http://www.perl-entrance.org"Perl入学式")を見つけたわけですが、もともとプログラミングをしたことない自分が参加するにはハードルが高く、理系の初心者の方が参加するくらいのレベル感に考えていました。
　いきなり初心者が参加してついていけるものなのだろうか、不安感は付きまといました。
　ただし、ページに書いている内容には、__「誰でも歓迎」__、__「初心者に手厚く指導します」__、といった文言が。。。そして、極め付けは講義の内容がページに載っているではありませんか。
　それを見て、もしかしたらなんとかついていけるかもと思い立ち、参加することにしました。

　実際参加した回は、Perlの基本文法の回と、正規表現の回でした。(今では、この回で得た知識が大いに業務に役立っています。)

　参加してみると、みんな背景はバラバラでいろいろな目的を持って参加されていました。自分と同じように前提知識少ない人もいれば、あらかじめ違う言語を習得しており、Perlも勉強するといった人もいました。
　講義自体は丁寧懇切に基礎の基礎から教えていただき、サポータの方も4人に1人くらいの割合でついてもらい、非常にアットホームな感じで講義が進んでいきました。さらに、重要な単元の後には必ず練習問題を課し、ヒントを与えながらも必ず自力で解かせるという手厚さぶり。そして、時間区切りで解説を行うというスタイルでした。そこでも、Perlの精神である「TMTOWTDI」の如く様々な手法での解答を提示していただきました。

```
[ 講義   ⇨   練習問題   ⇄   様々な手法 ]   ⇨   動機付け(やる気)
```

まさにこのような学習サイクルで、講義後のやる気スイッチまで入れてくれます。

## Perl入学式に参加した後
　Perl入学式に参加した後は、エンジニアになりたいと思い、思い切って転職し、今の職に就いています。
　そこでも、Perlは現役で活躍しています。どの商用のUNIXであってもPerlは存在し、環境が違えどいつでも同じ構文で使えています。そこがPerlのいいところであり強みの一つであると考えています。この2年で、自分が書いたツールでPerlを使ったツールは数多く、ShellScriptの中でもPerlをかませたり、普段のお便利ツールの中でもPerlを書いたりしています。
　現在は、Perlのワンライナーでいろんなコマンドを作成したりし、業務に役立てたりしています。

## 最後に
　エンジニアになってから、自分が読んだPerl関連の本をご紹介します。("#"は、読んだ順番になります。)

| # | 書名 | カテゴリー | 概要 | リンク |
|:-:|:----------|:-----------------|:----------------|:------------:|
| 1 | かんたん Perl (プログラミングの教科書) | 入門・概要 | Perl入学式参加後に買って読んだ初心者向け参考書。1冊目として読むには、最適なレベル感。結構新しい内容が豊富に取り入れられているのと、正規表現と文字コードに関してかなりのページを割いているのが良かった。 | [リンク(AMAZON)](https://www.amazon.co.jp/かんたん-Perl-プログラミングの教科書-深沢-千尋/dp/4774177911/ref=sr_1_5?ie=UTF8&qid=1512908140&sr=8-5&keywords=プログラミングPerl) |
| 2 | 初めてのPerl 第6版 |  入門・概要 |サーバサイドのエンジニアになってから読んだ本。かなりの名著。オライリーの入門本としては、かなりわかりやすく書かれている。 | [リンク(AMAZON)](https://www.amazon.co.jp/初めてのPerl-第6版-Randal-L-Schwartz/dp/4873115671/ref=sr_1_14?ie=UTF8&qid=1512908140&sr=8-14&keywords=プログラミングPerl) |
| 3 | すぐわかる オブジェクト指向 Perl | プログラミング | 業務使うツールをPerlでプログラミングし始めた際に読み始めた本。Perlでひっかりやすいリファレンスとオブジェクト指向Perlについてかなり丁寧に書かれている本。 | [リンク(AMAZON)](https://www.amazon.co.jp/すぐわかる-オブジェクト指向-Perl-深沢-千尋/dp/4774135046/ref=sr_1_29?ie=UTF8&qid=1512909181&sr=8-29&keywords=プログラミングPerl) |
| 4 | プログラミングPerl |  参考書 | Perlにおける古典。Perlの原点にして名著。原理がわからなければ参考書程度に参考する感じ。 | [リンク(AMAZON)](https://www.amazon.co.jp/プログラミングPerl%E3%80%88VOLUME1〉-ラリー-ウォール/dp/4873110963/ref=sr_1_1?ie=UTF8&qid=1512908140&sr=8-1&keywords=プログラミングPerl"") |
| 5 | Perlクックブック〈VOLUME1〉| 参考書・問題解決 | 困ったらこの本でやり方ないかを探す。大抵書かれている。 | [リンク(AMAZON)](https://www.amazon.co.jp/Perlクックブック%E3%80%88VOLUME1〉-トム-クリスチャンセン/dp/4873112028/ref=pd_sim_14_3?_encoding=UTF8&psc=1&refRID=FBVW2DRX8SEVZ1EDD682) |
| 6 | Perlベストプラクティス | 参考書・文法書 | いわゆる正しいPerlとしての正しい書き方が記載された参考書。結構参考にしています。 | [リンク(AMAZON)](https://www.amazon.co.jp/Perlベストプラクティス-Damian-Conway/dp/4873113008/ref=pd_sim_14_3?_encoding=UTF8&psc=1&refRID=HBP7CH5R7V81TTVV9677) |
| 7 | ミニマルPerl ―Unix/LinuxユーザのためのPerl習得法 | 参考書・ワンライナ | 唯一Perlのワンライナーについて書かれていると思っている書籍。サーバサイドのエンジニアとしては、読んでおいて損はない。マスターするとかなり便利。 | [リンク(AMAZON)](https://www.amazon.co.jp/ミニマルPerl-―Unix-LinuxユーザのためのPerl習得法-Tim-Maher/dp/4873113687/ref=sr_1_25?s=books&ie=UTF8&qid=1512908555&sr=1-25&keywords=Perl) |
| 8 | もっと自在にサーバを使い倒す 業務に役立つPerl (Software Design ｐlus) | 参考書 | ログの編集の方法など参考になる部分が多かった。Mojolicious Liteでオレオレアプリを書いた際に参考にさせていただいた本。 | [リンク(AMAZON)](https://www.amazon.co.jp/もっと自在にサーバを使い倒す-業務に役立つPerl-Software-Design-ｐlus/dp/4774150258/ref=sr_1_37?ie=UTF8&qid=1512909181&sr=8-37&keywords=プログラミングPerl) |