Perl入学式in大阪 2019 第1回開催しました

今年度もはじまりました!

Perl入学式in大阪のサポーター、id:tomcha0079 と申します。
さて、2012年度のスタートから数えて7年目、今年度もスタートしました。

Perl入学式の第1回のカリキュラムは、毎年恒例の「環境構築」です。
Perl入学式のモットー、初心者でも躓かない最もハードルの低い勉強会の理念の元、プログラミングの文法学習の一歩手前からスタートします。
オープンソース系のプログラミング言語勉強会では珍しく、Windows率が90%を超える第1回でした。

f:id:tomcha0079:20190528225451j:plain:w300
勉強会はこんな雰囲気で開催しています。

今回は、環境構築が終わったあと、第2回のカリキュラムの予習としてPerlの文法的な解説も少し触れました。
本格的な文法のカリキュラムは第2回からなので、MacやLinuxユーザーの方などすでにPerlを実行する環境が整っている方は、第2回からの参加で全く問題ありません。
また、Windows使用で第1回に参加できなかった方も、公開されている資料を見ながら自分で環境構築を行って第2回から参加してもらっても大丈夫ですし、もし分からなければサポーター陣がサポートしますので第2回からの参加もお待ちしております。

懇親会

17:30に講義が終了したあとは、近所の居酒屋で受講者5名&サポーター4名でワイワイと懇親会を開きました。
各々今日の講義の話やプログラミングの話、その他色々は話で盛り上がりました。

f:id:tomcha0079:20190528225533j:plain:w250
懇親会
勉強会本編は20歳未満の学生の方々も参加いただけますので、学生さんも安心してご参加ください。

懇親会が終了したのが20:00とまだまだ余韻が醒めず熱気たっぷりだったので、場所をグランフロントナレッジサロンに移して二次会へ突入。
こちらでは一旦お酒を控えて、プロジェクターを使ってDBの講義などテック系の話で盛り上がりました。

f:id:tomcha0079:20190528225552j:plain:w300
二次会はグランフロント ナレッジサロンのプロジェクトルームで開催しました。
また、丁度その日は21:00からAtCoder Beginners という競技プログラミングコンテストの開催日だったので、競技プログラミング大会になりました。
サポーター陣がライブコーディングをしながらプログラミングの解説をするイベントになりました。

次回Perl入学式のお知らせ

perl-entrance-osaka.connpass.com

次回Perl入学式in大阪 第2回は6月8日(土)13:00~です。募集告知ページもすでに公開されています。

www.perl-entrance.org

また、Perl入学式は大阪以外にも東京、沖縄、千歳(北海道)でも開催しておりますので、興味がある方(特に初心者、プログラミング未経験者)はどしどし参加してくださいね!

以上、Perl入学式in大阪第1回開催報告でした。

「春のPerl入学式リレーブログ」をはじめます!

桜が咲き誇り, 様々な出会いと別れが繰り広げられるこの4月, Perl入学式もいよいよ7年目のカリキュラムが始まろうとしています. 現在, 東京, 大阪, 沖縄の各会場について, 第1回の参加者の募集を行っています.

perl-entrance-tokyo.connpass.com

perl-entrance-osaka.connpass.com

perl-entrance-okinawa.connpass.com

お陰様で, 毎年多くの方に参加頂いている「Perl入学式」ですが, もっと多くの方に(参加する/しないはともかくとして)存在を知って頂きたいですし, 参加を検討している方の, 「ぶっちゃけ, 何をやっているの?」, 「どういう人達がやっているの?」といった疑問にも, なるべく答えていきたいと思っています.

...というわけで, 唐突ではありますが「春のPerl入学式リレーブログ」を始めることにしました! ワイワイ!!! 初日の4月2日(嘘と思われないように, エイプリルフールの翌日からのスタートです!)には, 大阪の卒業生で現在は講師としても活躍して頂いている, id:tomcha0079 さんに「プログラミング、初めてみませんか?」というタイトルで書いて頂きました:

tomcha.hatenablog.jp

そして2日目, 4月3日は一応Perl入学式の校長, ということになっている, id:papix がグダグダと書かせて頂こうと思います.

昔話

...昔話をします. 今でこそ, 一応何だかんだで情報系の技術者として職を得て, 日々プログラムを書いて生活している自分ですが, 実は初めてプログラムを書いたのは大学1年だか2年だかの頃, 情報系の学部に入ってから, 授業でC言語を学んだ時でした. そこから授業でJava, C++を学び, 大学3年の頃, 研究室の仮配属された時にPerlと衝撃的な(?)出会いを果たし, 大学4年の頃に参加したYAPC::Asiaでベタ惚れして, そこから紆余曲折を経て今に至る... という感じです.

では, 大学に入る前までは何をしていたのか? と言うと... プログラム書いてみるか, という挑戦をしては, すぐ挫折する日々を送っていたのでした. 自分の場合, 父親がそれなりにコンピュータが好きだったので, それこそ幼稚園の頃からWindows 95とか, そういったパソコンを触れる環境にあって, そういう意味ではだいぶ恵まれていたのですが, そこから上手く一歩を踏み出すことができなかったのでした.

自分の周りのエンジニアに聞くと, 「最初はブラウザでJavaScriptを動かして遊んでいた」という方も多いのですが, 自分の場合何故か「プログラミング言語といえばC言語」のような認識を持っていて(恐らく父親が持っていたC言語の本を幼い頃に見かけたりしたのが原因かもしれません), いきなりWindowsでC言語に挑戦して, 「よくわからんな...?」というのを, 中学校から高校まで, ちまちまと繰り返していたのでした. そもそも今考えると, 当時の自分は, 「プログラミングをする環境」をうまく構築するところから失敗していたような気がします...

...というわけで, Perl入学式という, 「初心者向けのPerl勉強会」を始めようと考えた時, 脳裏をよぎったのはかつての自分でした. 「プログラミング, なんとなく面白そう!」という人が, 思い込みだったり, 情報不足だったり, あるいは支えてくれる人がいなかったり... そういう理由で挫折するのは, 非常に勿体無いのでは? と思ったのです.

そういった経緯で, Perl入学式のカリキュラムは, 「プログラミング未経験者の方でも」安心して参加できるように作っていこうと考えたのでした. スタート地点を「とにかくパソコンを持ってくればOK」としていて, 環境構築からスタートするようにしたのも, その一環です.

...とはいえ, カリキュラムも初年度に作ったものを継ぎ足し継ぎ足しでやっていて, 正直わかりにくい部分も多々あります. id:xtetsuji さん, 本職が編集者の id:note103 さんなどの力を借りながら改善はしているものの, 及ばぬ所は多いです.

その辺り, 一気に改善できるよう, 実はゼロから作り直した「新しいPerl入学式のカリキュラム」というのを構築しようとしたりしています. うまくいけば, 次のサイクルから導入出来るかもしれません. 楽しみにして頂けると幸いです.

次回予告

Perl入学式は, こういった経験というか思い出から産まれた勉強会です. そのエッセンスは, 7年目が始まった今でも, とても大事に思っています. 「プログラミング, 楽しそうだけど, どこから手を出したらいいかわからないな...?」という方, Perl入学式でまずはPerlからプログラミングの世界に飛び込んでみませんか? その辺りの後押し? が出来るように, 余裕があれば次は「なぜ2018年にPerlを学ぶのか?」といった話についても, 自分の気持ちを述べられたら良いかな, と思ったりしています.

さて, 明日は, id:anatofuz が何か書いてくれるそうです, 楽しみですね!

2018年のPerl入学式の構想

あけましておめでとうございます, id:papix です.

昨年は, これまでの大阪/東京/沖縄の3拠点に加えて, 新たに札幌での開講が始まり, より多くの方と一緒にPerlを学んでいくことができました.

そして2018年, いよいよPerl入学式は7年目に突入します.
7年目が始まる今この時, あらためてこれまでを振り返ってみると, 2011年に大阪でPerl入学式の取り組みをスタートしてから, Perlはもとより, Perl入学式を取り巻く状況も目まぐるしく変化してきたと感じます.

そういった状況に鑑みて, Perl入学式という取り組みをさらに実り多く, 継続可能なものにするために, 良いものは残しつつ, 現在の時流に適した形へ刷新していく必要があると感じています.

...というわけで, 個人的な2018年のPerl入学式のテーマは "Reboot" です.
以下, どのような取り組みでPerl入学式をRebootしていくか, という所の私案を述べます.
これをベースにしつつ, スタッフの間で議論を進めて, 2018年4月から, 新しいスタイルのPerl入学式をスタートしていきたいと思っています.

カリキュラムの刷新

Perl入学式のカリキュラムと, そこで用いられる資料は, 基本的に2011年に活動が始まった際に構築した資料を, 年々加筆修正しながら使い回しているのが現状です.
練習問題が微妙, 講義内容の前後が繋がっていない, 少し突っ込んだ内容まで取り入れてしまっている... などなど, 毎年問題点が見つかるたびに修正していますが, そろそろ資料については0から作り直しても良いのではないか, という気持ちがあります.

理想としては, 現代的なPerlを解説する入門書『雅なPerl入門』に準拠した資料を新たに構築して, それをスライド化したものを講義で利用する... といった状態を目指したいですが, ひとまず2018年は, その『雅なPerl入門』を参照しながら, 講義資料を見直していくところからスタートするのではないかと思っています.

また, 毎年第1回で取り組んでいる環境構築についても, Wandboxなど, ブラウザ上でPerlを実行できる環境が整ってきた状況を踏まえて, カリキュラムの後半(Webサービス開発に取り組む辺り)まで先延ばしにしても良いのではないか...? と思い始めています.
(とはいえ, ブラウザ上で動作する環境を利用するとなると, 会場に無線LANの環境が用意されていることが必須になりますし, サービスに障害が起きた場合のことも考慮する必要があるため, この辺りについては, 運営チームでしっかり相談したい所ではあります)

その上で, あくまで構想段階ではありますが, 上記のようなブラウザで利用可能な環境を前提にして, 現在, 講義を以下のように再編できないかと考えています:

  • 第1回
    • Perlの概要と歴史
    • Hello, world
    • スカラー変数
    • 数値と文字列
  • 第2回
    • 条件分岐
    • 論理演算子
    • 配列とリスト
    • ハッシュ
  • 第3回
    • サブルーチン
    • 正規表現
  • 第4回
    • リファレンス
  • 第5回
    • Webサービス開発環境構築
    • 簡単なWebサービスの開発(簡易Twitter)

全体的には過去のカリキュラムを踏襲していますが, これまで第1回で実施していた環境構築を最終回に移行している所が大きな違いだと思います.

また, これまで第5回をまるまる使って「Webサービスの開発」を行っていましたが, これについては内容を絞った上で, より本格的な内容は, 「Perl入学式」の次のステップとなる「Perl中学校(仮)」に織り込んでいく形を考えています.
(「Perl中学校(仮)」の構想については, 次の「講義スタイルの刷新」の中で扱います)

講義スタイルの刷新

講師が説明をして, サポーターが受講生をサポートする... という講義スタイルは「Perl入学式」の特長ですし, そういった環境を作って, なるべく質問しやすい雰囲気作りをする, ということは今後もこれまで以上に大事にしていきたいと思っています.

とはいえ, 他の形式も模索してみたい気持ちがあり, そこから既存のやり方に良い点を取り入れる, みたいなことができたら良いなとも思っています.

ということで, 「Perl入学式」の次のステップを扱う, 「Perl中学校(仮)」では, "もくもく会形式"を取り入れてみたいと考えています.
具体的には,

  • Perl入学式の第5回で作成する簡単なWebサービスを, さらに改良する資料(後述)を用意する
  • 4〜5時間程度, 会場を用意して, 受講者は各自のペースで資料に取り組む
  • サポーターも各自, 課題やネタを持ち寄ってもくもくする. 受講者からの質問があれば, 適宜サポートする

...といった感じでしょうか.

そもそも, Perl入学式の次のステップ, となってくると, 扱う内容も難易度も高くなってきて, それをすべて講義形式で実施する... というのは, 受講者が学んだ内容をうまく咀嚼できるまでの時間に差がありすぎて, うまく同期できないという問題が生じてきそうだと思っています.
そういった事態を防ぐためにも, 「Perl中学校(仮)」では, 受講者がそれぞれのペースで学んでいける形式で進めていく必要があるのでは, と思っています.
また, それを実現するためには, 今以上にSlackやTwitterを活用したサポートも重要になってくるかもしれません.

また, 「Perl中学校(仮)」では, 次のような内容を取り扱いたいと思っています:

  • CPANモジュールの活用
  • Perlにおけるオブジェクト指向プログラミング
  • クッキーを利用したログインの概念を追加
  • MySQL or SQLiteを利用したデータの永続化
  • Twitter Bootstrapなどを利用したデザインの整備
  • オプション: VPSを使ったWebサービスのデプロイ

この辺りまで習得することができれば, 様々な形でPerlを活用できるレベルまであと一歩と言えるのではないかと思います.

さいごに

2017年は, 転職やYAPC::Fukuokaの運営など, いろいろな出来事があって, あまりPerl入学式の運営に取り組めなかったなー, と思っています.
また, 校長という立場で6年間やってきて, そろそろ「次の体制」にバトンを渡していく必要があると最近思っています.
Perl入学式という活動や, そのコミュニティから一切合切手を引く(関わらなくなる)事はありえませんが, とはいえ継続可能な組織を目指していくためには, 「校長」というポジションをちゃんと引き継ぎ可能な状態にしておくことが大事だと思っています.
2019年〜2020年辺りに, 新しい体制のPerl入学式をスタートできるように, この2018年にRebootして, これまでの資料や運営体制を刷新して, また「Perl中学校(仮)」構想もしっかり進めていく. そういった1年になればいいなと思っています.

RubyやPython, 或いはPHPが主流となる中で, 今さらPerlを教えることに何の意味があるのだろう? と思われるかもしれません.
ただ, これまで6年間, Perl入学式をやってきて思ったのは, 「とにかくPerlでも何でも良いので, イチから丁寧に, しっかりとプログラミングのイロハを学びたい」と思っている方が, 自分のようなエンジニアの人達が思っている以上に, 世の中にはたくさんいらっしゃる, ということです.

Perl入学式は踏み台です. Perlという言語と, Perl入学式をきっかけにして, プログラミングに興味がある人に, その第一歩を踏み出してほしい.
もちろんPerlを楽しみ続けてほしいと思いますが, そこで得た知識を元に, RubyやPythonなど, 他の言語に進んでいってもらっても, 全然良いと思っています.
そういった思いでこれまでやってきましたし, これからもやっていきます. そこは絶対に変わることのない, Perl入学式の理念であり, 軸となる部分だと思っています.

6年という年月は長いもので, 設立当時に小学校に入学した子供たちが, 中学生へと羽ばたくだけの時間が経ちました.
それだけの時間が経過しても, こういった取り組みが続いているのは, 受講者の皆さんと, 優秀な運営ボランティアスタッフ, そしてPerl入学式の活動をご理解くださり, ご支援くださる皆様のお陰だと思います.
Perlという言語とそのコミュニティが, 継続可能な形で, これからも進んでいけるように, Perl入学式もしっかりやっていきたいと思います. 2018年のPerl入学式も, どうぞよろしくお願い致します.

6年目の終わりが近づき, 7年目へ踏み出すPerl入学式

こんにちは, id:papix です. この記事は, 「Perl入学式 Advent Calendar 2017」の1日目です.

qiita.com

さて...

タイトルにも書いた通り, 2017年でPerl入学式は6年目となります. そして2018年からは, いよいよ7年目のPerl入学式が始まります. 今年は東京, 大阪, 沖縄に加え, 新たに札幌での開催も始まり, また後日 id:xtetsuji さんが紹介してくれるはずですが, 「企業出張版Perl入学式」といった新しい施策にも取り組むことができました.

また, 今年は「papix依存」が遂に完全に解消された1年でした. YAPC::Fukuokaの運営に携わることになったり, 転職があったりと, あまりPerl入学式に時間が割けない中で, id:xtetsujiさんを中心に, 古参のメンバーと新しく仲間に加わったメンバーが, それぞれの得意分野を活かしながら, 各地のPerl入学式を運営できていたように思います.

来年の抱負

そういった2017年を踏まえて, 2018年の抱負ですが, まずは「2018年だから出来るPerl入学式にする」という野望があります. 6年前から, Perlという言語やそのコミュニティ, 更にはプログラマーを取り巻く状況は大きく変わってきている一方で, どうしてもPerl入学式のカリキュラムはそれに追随していくことが出来ていませんでした.

「Perlを通して, プログラミングの基礎を掴む」というところは, Perl入学式の根底にある気持ちだと思っていて, そういった部分を大事にしながら, こだわるべき所はこだわって, 妥協するべきところは妥協して, より良いカリキュラムにする... というのを毎年やりたいと言って出来ていないので, 今年こそは成し遂げたいですね. そのあたり構想はあって, うまく「Perl中学校(仮)」の施策と組み合わせたい, という気持ちがあります.

そのへんの構想については, また別の日に書こうかなと思っておりますのでお楽しみに.

最後に...

今年もPerl入学式でいろいろなことがありました. スタッフとして貢献した, 参加者として学んだ, OB/OGとしてPerlをうまく日々に活用することができた... そういった体験を, ぜひAdvent Calendarに書いてもらえると嬉しいです.

各々無理のない範囲で, 来年もよしなにやっていきましょう. よろしくお願いします.

そして6年目へ... 〜Perl入学式の2017年〜

この記事は, 「Perl入学式 Advent Calendar 2016」の25日目の記事, ということにしておいてください...


...というわけで, Perl入学式において一応「校長」と呼ばれているpapixです. いよいよこの「Perl入学式 Advent Calendar 2016」も最終日ですね!

今年はなんと, 1日目と25日目の2日を担当した自分以外, すべて異なる方(総勢24名!)に書いて頂くことが出来て, 本当に嬉しいです.
振り返ってみると, 今年も昨年, 一昨年に負けず劣らず, 多種多様な記事がありました.


@xtetsujiさんからは, 2016年から始まったin東京における新しい取り組みについてご紹介頂きました(「2016年のPerl入学式in東京の新しい試みについて」).


また, 「ぴかぴか(自称)のPerl1ねんせい」では, 現在進行系でカリキュラムを受けている方の感想を伺うことができました.


「Perl入学式に参加した結果www」
や, 「Perl入学式 を卒業したら、仕事が楽になった話」では, Perl入学式のカリキュラムを終えた後のチャレンジや, それによって得たこと, 変わったことについて綴って頂けました.
こういった形で, 自分たちが行った講義の"その先"の成果を見せていただけるのは, Perlを, そしてプログラミングを教えている我々にとって, 非常に嬉しいご褒美(?)だと思っています.
 

その一方で, 「Perl1年生、進級する」という記事では, 受講者からサポーターへ回った@umaaaaa_chanが, その感想を綴ってくれました.


講師, サポーター, 受講者, 卒業生, 更にはたまに懇親会に現れるトーカナイザーの守護神さんも登場して, 本当に賑やかなAdvent Calendarになったと思います. 記事を書いて下さった皆様, 本当にありがとうございました!

2017年のPerl入学式

さて, いよいよ2017年がやってきますね. 2011年にスタートしたPerl入学式はいよいよ6年目を迎えます.
結論から述べると, 私達は2017年もPerl入学式をやっていくつもりでいます.
「2017年にもなって, Perl?」という声はもちろんあるかもしれません... というか, 普通にありますが...

  • 5年間に培った資料とノウハウ
  • その間に集まった優秀なスタッフ陣
  • Japan Perl Associationによるバックアップ体制

といった状況(?)を活かせるので, Perl入学式はこれからも, 「Perlによって, プログラミングに入学(入門)」できる場所として続けていきたいと思っています.

次の施策

Perl入学式として, 取り組んでみたいことはたくさんありますが, とはいえどうしてもスタッフ陣は本業の合間に準備を進めることになるので, 一度にたくさんの施策を進めることはできません.
ということで, 今年は次の施策をやるぞ! という宣言をすることにします.


「"Perl入学式"の向こう側へ」


...先ほど紹介した, 「Perl1年生、進級する」という記事で, Perl入学式のカリキュラムを終えた後のステップとして, 「サポーターになること」が推奨されていました:

そこで、Perl入学式の次のステップとしておすすめしたいのは、サポーターになることです!

とはいえ, そこはThere is more than to do it, やり方はいろいろあるということで, 「サポーターになる」以外の選択肢(やり方)も用意していきたい, と思っています.
Perl入学式のカリキュラムでは, Perlを題材として, 簡単なWebアプリケーションの作成までチャレンジできるとはいえ, 「そこからどうすれば...?」という声はこれまでも多々ありました.
 

まだ構想段階ではありますが, 全2〜3回構成で, Gitの使い方やRDBMSの使い方, Bootstrapなどでデザインを充てる方法などを紹介することで, Perl入学式の最終回で作成したWebアプリケーションを, よりしっかりした(?)Webアプリケーションにできるようなコンテンツを提供できれば, と考えています.
もちろん, 業務としてプログラミングをするにあたっては, これでも不十分ではありますが, Perl入学式のカリキュラムの「次」のステップとしては, これくらいが丁度いいのかな, と思っています.
 

これまでの「Perl入学式」の活動を続けながら, 「その先」の施策, 言うなれば「Perl中学校(?)」のような施策も進めていく.
2017年は, そういった意味でPerl入学式にとって, 更なる躍進の1年にしていきたいと思っています.

2017年のPerl入学式も, どうぞ宜しくお願い致します.