技術コラム
バンドと実装
バンドというとみなさん何を想像されるでしょうか?
ザ・ビートルズのようなエレキバンド?
ザ・フォーク・クルセダーズのようなフォークソングのバンドでしょうか?
はたまた、ズボンのバンドですか?
ところ変われば品変わるで、クラッシック音楽の世界で、バンドというと吹奏楽を指します。
管弦楽がオーケストラと言われるのに対して、ブラスバンドを省略して単にバンドと言うのだと思います。
ブラスバンドはウインド・オーケストラとも言われますし、言葉の表現は色々です。
それでは、ビックバンドと言うと・・・
吹奏楽の世界では100人に及ぶような、ステージに乗り切れないような大人数のバンドを指します。
しかしジャズの世界では、高々数十数でもビックバンドです。 吹奏楽では小編成と呼ばれます。
トリオ(3人)やカルテット(4人)で演奏されることが多いジャズでは、十数人集まればもはやビックバンドなのですね。
宇多田ヒカルが歌う歌詞の中にコンピュータ・スクリーンという言葉が出てきます。
スクリーンという言葉も色々です。単にスクリーンとだけ言うと、映画を想像する人も多いかと思います。
コンピュータ・スクリーンと言うことで、コンピュータの画面であることをおしゃれに限定していると、感心したものです。
さて、ソフトウェアのエンジニアが言う実装は、世間では理解されにくいことがあります。
ハードウェアで実装と言うと、基板に部品を半田付けする作業を思い浮かぶでしょうか。あるいは、ケースに部品を組み付けて配線することかも知れません。
ソフトウェアでは、プログラムを一行一行作成する作業だと、私は思います。いわゆるコーディング作業、あるいはプログラミングです。
プログラミング作業は普通、設計行為だと思われるかも知れません。
しかしソフトウェアの世界では、設計は仕様書を書くレベルで、プログラミングはもはや単に部品を並べているだけの実装に過ぎないと考えます。
私だけでなくソフトウェアの世界では、わりとみんな、そういう感覚だと思います。
ソフトウェアは一般的に設計量が多いので、階層を一段階シフトして、とらえられています。
ハードウェアとの対比で考えると、つぎのようになるでしょうか。
(ハードウェア) (ソフトウェア)
構想 仕様を設計する システムを設計する
設計 回路を設計する プログラムの仕様を設計する
実装 部品を組み付ける プログラムを作成する