新人教育

明日からちょっと遅めのゴールデンウィークということでなんか更新しとくか。

まっさらな新人にPerl教えるのって本当にきついですね。
専門学校レベルのC言語しかやったことないとかいう人は配列やfor文を凄く好む。
ハッシュやforeach使えよと。
はたまた学校でPerlやってましたとか言う人もstrictってなんですか?ってな状態だし。

というかね、専門学校で教えられてるPerlのレベルがね、10年くらい時が止まってるんじゃねーのか、と思うくらいレベルが低いのがなんとかならんかなと。(ということはPerlOOPとかstrictとかCPANとかを教えてくれるような専門学校があったら凄い生徒集まるんじゃない!?いやいや、世の中はPHP主流になりつつあるらしいぞ)

いや、まとにかく勉強しないといけない項目を箇条書きでざーっと上げてみようか。

  • foreach文
  • ハッシュ
  • 配列操作関数push,shiftなど
  • packageについて
  • グローバル(パッケージ)変数とレキシカル変数の違い
  • インクルードパスとパッケージの関係
  • 関数とメソッド
  • Perlでのオブジェクト指向プログラミング
  • bless関数
  • リファレンス
  • strictプラグマ
  • 正規表現
  • リストコンテキスト、スカラコンテキスト
  • クロージャ
  • myとlocal(とour)の違い
  • requireとuse(とdo)の違い
  • 無名ハッシュ、無名配列、無名サブルーチン
  • シンボリックリファレンス
  • 動的コンパイル
  • 例外処理
  • シンボルテーブル
  • 型グロブ
  • プロトタイプ関数
  • BEGIN,END
  • DESTROY
  • AUTOLOAD
  • CORE
  • UNIVERSAL
  • isa,can
  • tie変数
  • overload
  • $VERSION
  • 継承
  • POD
  • 最後の1;

とまぁ今適当に思いつくものを上げてみたけど多いなぁ。
んでまたスクリプト言語やったこと無い人間にとっては理解するまでにかなり時間かかりそうなのも多い。

で、これを踏まえたうえでCPANのモジュールとかの勉強もしていかないといけないし。
命名規約とかコーディング規約とかも入ってくるとやっぱPerlって新人が勉強するにはハードル高いかもね。

Perlをメインで使ってる会社とかこの辺の新人教育とかどうしてんだろう。
うちでは基本規約を読ませてあがってきたソースは全てレビュー。で、後は個別で各項目に対する課題をやってもらう、例えば明日までにmyとlocalの違いについて調べてこいとか。

でもこのやり方ってまた新人入ってきたら一からやり直しなんだよね。それが辛い。
まぁ、地道にやるしかないか・・・。