わさっきhb

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

我々はElasticsearchを「実装」しない

「それぞれの班で,これからやるべきことが整理できたかと思いますので,授業の合間や冬休みをうまく活用して,開発と初期データづくりに,取り組んでいってください.
 ただ,スライドの中で共通して,不適切な用語があったので指摘しておきます.ともに,今後の予定のスライドの中に,『Elasticsearchを実装する』と書いてあったのですが,そこで『実装』と表記するのは,良くありません.
 実のところ,我々は,Elasticsearchを実装しません.公開されたソフトウェアを,使う立場です.
 代わりに何と言えばいいかですが,そうですね,『デプロイ』という言い方があります.直訳すると『配備』です.軍隊みたいですね.まあそれを,コンピュータ分野へ転用したわけです.実運用の環境に,既存のソフトウェアだとか,自前で作ったコードだとかを設置して,運用できるようにすることを,デプロイと言います.
 とはいえ,そこだけカタカナで書くのも不自然なので…『Elasticsearchをサーバ上で使えるようにする』と,二字熟語を使わないのが,無難だと思います.
 『実装』に立ち返りまして,研究者の間でこの言葉は,既存のソフトウェアではできない機能を,自分たちでコーディングして実現することを指しますので,合わせて知っておいてください」

なにこれ

今月実施した研究室内のゼミの発言です.3年生4人が,2人ずつ2つの班に分かれまして,Elasticsearchを用いた実用的なサービスを提案してもらいました(Elasticsearchの技術面の調査報告は,その前の回でした).順に発表と質疑応答を終え,最終段階のコメントでした.
上記の「実装」の誤用が,どこから発生したのかは,聞けなかったものの,数年前にも大学院生のゼミ発表スライドで,ソフトウェア名は異なりますが同様の書き方をしていて,修正を指示したことがあります.知っている言葉を当てはめたと想像します.
「実装」の用語をどんなときに使うかについては,上で書いたのが大事なところですが*1,もう1点,挙げておくと,その目的語(「〜を実装する」の「〜」に当たる箇所)には,ソフトウェア名ではなく機能を書くのが原則となります.

わんもあ

「デプロイ(deploy)」は,個人的に興味深い用語です.というのも,この単語よりも先に,employが,ソフトウェアなどを使うという意味になるのを知っていたからです.接頭辞のen(employは,enの直後がpなので変化した)とdeは,encodeとdecode,encryptとdecryptのように,正反対の意味になるはずだけれど,employとdeployは正反対ではなく,「使う」という,わりと似た意味にも見えます.
「employ」で検索すると,次のページを見つけました.

adopt, apply, employ, exploit, take advantage of, use, utilizeの違いや例文が載っています.useは「使う」の最も一般的な語です.employと同様に論文でよく見かけるadoptについては「(複数の選択肢から)採用する」,employのほうは「特定の目的のために、利用する」とあり,なるほどの使い分けとなっていました.

*1:ただし,「研究者の間で」は,言いすぎだったかもしれません.「論文を読んだり書いたりする際の注意点」と捉えると,研究の目的を達成するにあたり,どこまでは既存のもので解決でき,どの部分がそうでなかった(ので実装した)かを,明確にする効果があります.