ITコーパス君 - replicate

かつてNHKで、100語で英会話という番組がありました。一般の英語データ(コーパス)を解析して、頻出殿の高い用語から始めて、その例文や表現を勉強するというものです。初級英会話としては効率のよい勉強方法ですね。そこで、これをIT英語でもやろうと、実は数年前から考えていて、だけど時間がなくてほったらかしにしていたことを、ヘルニアを機(?)にやってみました。あるJavaの英語雑誌の数年分をまとめて分析し、それぞれの言葉の品詞を解析し、頻出度を調べてみました。ちょっと古いものなので名詞の頻度を見てももう意味がないでしょう。そこで、今回は動詞に絞ってみてみました。Inflection(語尾変化)をたばねるのが面倒でしたが、まあ時間があるので細かいところは手作業でやってしまいました。頻出度が20以下のものは無視し、Be動詞や助動詞を省くと、だいたい700ちょっとの動詞が出てきました。トップ5は何だか想像つきますか?上から順に、have, use, provide, create, makeとなっています。Javaですから、コーディングに使われるimplementとかimportとかは過度に登場するのでしょうが、ざっと見ていくと常識的な用語がほとんどです。ただ、この700個の動詞から使い方が特徴的なものをピックアップして話を進めるのも面白いかなと思い、折に触れて、ランキングの下のほうから動詞を選んで話をしていきたいと考えています。
記念すべき第一回目はreplicate。頻度は21と最低です。replicationというのはいわゆる「レプリカ(複製)」から来ていて、replicateと動詞で使われると「複製する」となります。これが一番使われるのはデータベースで、データベースのreplicationというのは重要な技術です。同じ内容のデータベースをバックアップの意味で複製を作っておくと、いざメインのデータベースに問題があっても、レプリカのほうを使えば一瞬にしてフォローできるというものです。replicateするというのはたいていはデータベースです。
ところが、今回分析したのはプログラミングの内容です。そこでは次のように使われています。
I use a utility to do the close so I don't have to replicate the exception-catching code everywhere.
For now, you can expect to replicate business rules in client-side code as well as in the DBMS.
データだけではなく、コードやロジックなど、とにかく「まったく同じものを作る」という意味であれば何にでも使えるわけです。ただし、気がついてほしいのは、replicateするという行為がよいことではないというニュアンスがある点です。データベースの複製は安全性や利便性のために行いますが、コーディング上で複製するというのは二度手間だということです。オブジェクト指向そのものが複製を避けるのが哲学のひとつですから、replicateするようなことは基本的にないわけです。上記例文の1つ目は、ユーティリティクラスを作ってファイル(かなにか)を閉じる操作を一括して行っているため、いちいち例外をキャッチするようなコードをばらばらと書き込むことはないという意味でreplicateを使っています。replicateというのは「まったく同じもの」の複製ですから、単なるコピーよりももうちょっと意味が強いわけで、それだけにニュアンスを持った使い方をするということです。
では次回また。