先日から続いている新入社員の教育でのお話。
彼らは、サーバ管理者をめざして入社をしてきたようだが、サーバ管理とプログラムは密接にかかわっているということを教えていかなければならないので、さらさらっと書くことのできるRubyをこのところ教育目的に使っています。
というより、私がRubyしか言語を知らないということがあるのですが....
すると、ある一人の日報にこう書かれていました。
Rubyは変数の型の定義とか必要がないので書きやすい反面、変数の中身を 気にしないでそのまま通りすごしてしまうと、危険なことになるのではな いかと感じる。
実は彼らは学校でC言語をやったことがあるらしく、常にこういうことを意識しないと使えなかったこともあって、ぴんとこないみたいだ。
そんな話題で話が盛り上がっていたところ、Matzにっきのこの記事
あ、そのインタビューの中では動的言語のデメリット (型がないから実行 してみないと分からないとか、プログラムを見ただけでは何を渡してよい か分からないとか)についても触れていた。
が目にとまったので、何かきっかけになればと思って、彼に見てもらいました。(もちろん全部読ませました。)
すると彼は、
「まつもとさんがそれをデメリットといっているけど、でもそれはメリットでもあるんじゃないでしょうか。」
と彼は言っていました。
私は、Rubyしか知らないので彼のような発想はおそらく出てこなかった思います。彼にはこういった調子で、最近いろいろ教えられることが多くてとても勉強になっています。教育係になってよかったなあと思える瞬間かもしれません。
そりゃそうです。元の文を読んでもらうと分かると思いますが、型がカ指定されていない(分からない)というデメリットは、簡潔な表現とか柔軟性とかいうメリットと表裏一体なんです。
まつもとさん、コメントありがとうございます。
記事や新入社員の感想を聞かなければ、私は表裏一体ということすらも知らずに通りすぎたことかもしれません。
それは不幸なのか幸せなのか....うーん、それも表裏一体ですかね(笑)