くまのからあげ

彼氏にはバレています

エンジニア彼氏がやたらつかう「実装」って言葉がどういう意味なのかって話

f:id:kuma-no-kara-age:20160410005720p:plain

どうも、からあげです。

さっき飲み会から帰ってきたらリビングの照明にダッフィーのぬいぐるみ(通称:くまのからあげ)が吊るされていました。エンジニア彼氏のささみくんは作業部屋にこもっているようなのでSlackしてみたのですが、まだ返事がありません。
ぬいぐるみの虐待は時々行われているようなので珍しいことではないのですが、そのまま放置するとは、一体何を伝えたいのでしょうか。そしてこれを吊り下げたあと、彼は何を実装しているのでしょうか。怖くて直接話しかけることができません。

f:id:kuma-no-kara-age:20160410021207j:plain

当人(ダッフィー)はおだやかな笑顔。

ところで「実装」って何

ブログ編集画面を開いたついでに書いてしまって恐縮なのですが、
わたくし、最近「実装」という言葉に違和感を覚えています。
わたしもささみくん(彼氏)につられて普通に使っていたのですが、
エクストリーム実装」って、改めて訊かれるとなんのことか全然説明できません。
そもそも、ささみくんと付き合うまで「実装」なんて言葉、聞いたことありませんでした。エンジニアが近くにいない人たちは、「実装」という言葉を口にすることもなく一生を終えるに違いありません。

ともかく。意味もよくわからないまま言葉を使うのは不誠実なことだと思ったので、自分なりに理解しようと思った次第です。

ググッて最初に出る語義やら、コトバンクやら

じっそう
【実装】
《名・ス他》装置や機器の構成要素となるものを、すぐにも使えるように組み込むこと。「三七ミリ砲を―した爆撃機

爆撃機!?なにそれカッコイイ。
考えてみれば当たり前ですが、もともと機械系の言葉なのですね。

じっそう【実装】

コンピューターのハードウェアやソフトウェアに新たな部品や機能を組み込んで使えるようにすること。◇「インプリメント」「インプリメンテーション」ともいう。

実装(ジッソウ)とは - コトバンク

ちゃんと対応する英単語も存在すると。勉強になります。
ささみくんが「実装」するにあたってすることは「コーディング」なはずなので、彼と話す時には「コーディング」という意味で理解して問題ないはずです。

実際、家で聞いたことがある「実装」の使い方

実際のささみくんの用例に沿って見てみると

  • 「その機能実装しとく」(”近いうちにコーディングする”と同じ意味か)
  • 「それもう実装した」(”コーディング完了”と同じ意味か)
  • 「実装中」(”コーディング中”と同じ意味か)
  • 「エクストリーム実装」(”机などの安定した場所ではないところでコーディングすること”)

ほぼ「コーディング」の意味で間違いないようです。

実装するだけが開発じゃないってことよ

ところでWikipediaの「実装」の項によれば、「実装」の対になる言葉として「設計」が挙げられています。

「設計と実装」は対で語られることが多い。 何らかの機能を実現するための方法や枠組みを決定する抽象的な作業(別の表現で言えば、紙の上での作業や、モニタ上での作業)を設計と呼び、その機能を実際に動作させるための具現化(具体化)作業を実装と呼ぶ。

いきなり実装=コーディングせず、どういうふうにつくるかちゃんと考えようね、っていうのが「設計」なんですね。

あと、一緒によく聞く言葉として、「開発」ってのがあります。*1
これもググッてみると

IT分野での開発は、ある目的を達するための技術や仕組み、ソフトウェア(プログラムコード)、装置、システムなどを作りあげる行為や事業を指す。開発を行なう人や組織のことを「開発者」(developer:デベロッパー)という。

開発とは|development|develop|dev|デベロップメント - 意味/定義 : IT用語辞典

「開発」はもっと大きな意味で「あたらしい仕組みをつくる」ということなのですね。
これはここまでの引用から飛躍するという意味で憶測ですが、「開発」の中の工程として、「設計」と「実装」が含まれているという理解でいい気がしてきました。

まとめ

  • 「実装」はなんらかの仕組みに、新しい機能を追加する作業である
  • ささみくんの場合それは「コーディング」であるため、「実装」=「コーディング」と思って問題ない。
  • 仕組みを作る「開発」には「実装」の他に「設計」という工程が存在する

うん、これで「実装」ってなんだ、というもやもやはかなり軽減されました。
よく眠れそうです。

f:id:kuma-no-kara-age:20160410020321p:plain

だから、返事してくれささみくん〜

 

 

 

 

 

*1:わたしは技術のことをよくわからないままインターネットを見ているので、「大規模サービス開発」って聞くと、漠然と人がたくさん死にそうなイメージがあります。