わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

高校野球とプログラミング

昨日まで,家では,子供のお守りをしながら,高校野球を観ていました.今日から,仕事に復帰します.それはさておき.
テレビでは,外野フライをダイビングキャッチだとか,その裏にサヨナラホームランだとか,そこまで劇的でなくても,落ちる球で三振にして,キャッチャーが捕球できなくても(後逸さえしなければ)振り逃げを阻止するだとか,ノーアウトのランナーを送るのか強打なのかとか,フルカウントの攻防だとか,スリルあふれる展開を目にすることができました.
それらの大部分は,偶然の産物ではなく,いずれも地方予選から始まるトーナメント戦を勝ち上がったチームであること,そして守備にせよ打撃にせよ,投球にせよ,実戦に望む以前の,日々の練習,努力のたまものなのでしょう.
さてプログラミング,とりわけ自分が関わっている,学科の学生のプログラミング技能は,どうでしょうか?
プログラミングのアルバイトでもしていない限り,この夏休みに,プログラミングをして周りを驚かせるようなものを作るだとか,自分の能力を高めるだとかいう学生は,ほとんどいないでしょう.
夏休みの宿題として与える教員はいないし,学生もメリットを感じないでしょうが,大学生向けのいい教材があるよと提示するのは,教員の務めかなと思います.私が今ここに書いていることを,学生が読みに来なかったとしても,ゼミや授業で,アドバイスというか挿話として知ってもらうという方法もとれますし.
違いはほかにもあります.高校野球には目指せる「頂点」があります.プログラミングの分野で,「頂点」がないことはない*1のですが,全員が目指すものでもありませんね.
しかし,高校球児にとって,プロ野球に代表されるその後の「道」については,プログラミングに習熟することが期待されている学生にも,対応するものがあります.
高校球児が…全員ではないにしても…大学の野球部,社会人野球を経て,あるいは経ずにプロ野球の選手になるのと同様に,コンピュータのことを勉強している大学生のうち,少なくない数が,プログラミングを主な業務とする職に就くことになるわけです.一線で働けるのは数年から十数年,あとは後進の指導,というのも,共通しているように見えます.なので,華やかな世界で活躍できるための基礎となる技術や態度が何かを明らかにし,それらが身についていることを(本人も)確認できるように,していきたいものです.
野球とプログラミングを結びつけて,目指すものを表現するなら,

  • 得点を取れるコード
  • アウトを確実に取れるバグ発見と除去*2
  • 風向きを知ること,空気を読むこと.観衆などの声に左右されず,しかしそれを受け入れること
  • 新たな技術が来たときに,それを自分なりに検討し,有用なら受け入れること

あたりでしょうか.
昔書いたこと:

*1:ACM国際大学対抗プログラミングコンテストが有名です.

*2:三振を取るには,ピッチャーだけではダメで,キャッチャーが不可欠です.「内野ゴロで」「外野フライで」となると,野手の“協力”や,“信頼”も必要になります.プログラミングでは,個別の知識とその適用方法,またコードが意図通りに動く「ロジック」が,対応するように思えます.