smellman's Broken Diary

クソみたいなもんです

現役先生に対してひたすら熱く語った件について

ワークショップの懇親会の後、ちょっと先生と呑みにいって、興味深い事を聞きました。「レベルが低い学生だけを集めて講習をしても、その中で出きる人と出きない人がでてくる。レベルが高い学生を集めても同じ現象がおきる。集団行動をとると必ずこういう現象がおきる」同じグループに所属すると「この人には勝てない」という心理が働いてしまってこういう現象がおきてしまうものだと。だいたい二割ぐらいの人がそういう感じで出きない人のゾーンに入ってしまうらしい。
これに対して僕個人なりの解として、ハッカーと画家に書かれている「普通のやつらの上を行け」という話を持ち合いに出して少しは解決できるのではないかと感じた。
具体的には、同じJavaプログラマーとしての講習を受けていたとしたら、そういう優越みたいなものが出きてしまう。でも、そういう落ちていった人に対して、例えばRubyをやってみるとか、Lispをやってみるとか、いろんな選択肢があるって事を教えたらどうかと。
ソフトウェアの世界では生産性や品質って物が問われるケースが多い。その時に同じ言語で比較をしてしまうとどうしても向き不向きがあるだろう。でも、ソフトウェアの世界ではいろんな言語がある。ハッカーと画家の世界ではCommon Lispを使って普通のやつらの上を行ったわけだが、同じような現象は起きるのではないだろうか。
僕自身、学生時代回りがCでプログラムを組んでるのを横目にSchemeでひたすら課題を問いていた時代があった。その方が自分にとっては生産性が高かったというのが主な理由である。今のJavaの世界でも、例えばGroovyを使えば生産性はあがるかもしれない。フレームワークを選択するという行為だって普通に行なわれている事だ。いろんな選択肢があるのだ。プログラマーの使命は問題を解決する事だ。そう考えれば、別に何を選択したってだろう。そういう選択の自由があるって事を気づかせて、そういったものを学べばもしかすると優越の差は縮まったり、逆転したりするかもしれない。
別にハッカーになれというわけではない。ただ、自分にあったものを見つける機会があまり無く、単に同じ視点からだけで優越を決めてしまうという風潮がまずいと思っている。視点を変えればいろんな言語があるのがソフトウェアの世界だ。学生のうちならそういう世界を知るべきじゃないだろうか。というか、知る機会はいろいろ作れるはずだ。だから教職員の方にはもしそういう同じ視点の優越で落ちこんでいる人がいたら、ちょっと視点を変えてみるような事を教えてほしい。僕自身が視点を変えた事がプログラミングに対するスタンスを変えた大きな一歩だった。学生時代に多くの言語に戯れた事が今の自分の原点になっている。そういう考えを培えるようになれば、劣等感ばかりの世界から脱出できるキッカケになるかもしれない。
たしか達人プログラマーの中では毎年一つの言語を学ぶという話しがあったと思う。この考えはソフトウェアではすばらしい世界を生むきっかけになると思う。是非とも学生にはチャンレンジして欲しいと思い、その思いの塊を先生にぶつけまくってしまった。ただ、そういう視点は本当にもってもらいたい。いろんな視野をもってもらうのは学生にとってはすばらしい経験だと思うから。実際自分にとってはすばらしい経験だったから。