今回は、本職のプログラミングと
エレクトーンの関係で
自分なりに似たところ見つけた(つもり)ですので、
書きたいと思います。
コンピュータプログラミングは古くからのC言語や
COBOL等の手続き型言語とJavaや
VisualC#のような
オブジェクト指向プログラミングがありますが
その関係が、
鍵盤楽器のエレクトーンとシンセサイザー
の関係に似ているとふと思いました。
(ここで2者の考え方を書きます)
①手続き型の考え方。
とにかく全て初めから自分で作成し、完全オーダーメイド
で作り上げる。
・・・完全オーダーのため、プログラム設計者の完全
管理のもとソフトが作成される。
例えば皆さんがクリックするパソコンソフトのボタンでは、
その見栄えやレイアウト・・・つまり押す前のボタンの画像
から押した後のボタンの変化とこと細かく作画の
プログラミングをする作業有り。
②オブジェクト指向の考え方。
とにかくボタンのような決まった作業は、
コレクションの部品として、提供される(具体的に
マイクロソフト社や他のソフト会社から)
プログラマーはその部品を素直に使って、
本来力を注ぐべき業務処理部分に集中する。
例えば、ボタンの見栄えはそんなに重要ではないため、
マイクロソフト社の部品設計者の感性に委ねて、
本来その作成したいソフトの専門的(例えば会計ソフトなら
会計学部分)なことに力を注ぐ。
・・・それをエレクトーンとシンセサイザー
に置き換えると、
①オブジェクト指向
この世にある楽器音(+α少々)はパッケージ化して、
選択のメニュー内にマイクロソフト社YAMAHA社から
提供される。アレンジ・演奏者は、その一番近い音を探して
選択する作業のみ。
②手続き型
アレンジ・演奏者は、その音を自分の感性のおもむくままに、
0(ゼロ)から作り上げる。つまり場合によっては世界でただ一つ
の音が完成し、発表できる。
それらの長短所は、
多少の効率化(時間を使うことを惜しまない)を犠牲にして
でも完全なオリジナルを目指すか、
効率化を最優先し、完全オリジナル化の一部を我慢する。
・・・に尽きるのではないかと思います。
様は、どっちが良いか悪いかではなく、
その用途によって使い分ける必要が有ると思うのです。
ただ個人的には、オブジェクト指向=エレクトーンの
考え方の方が近年のプログラミング工学の考え方に、
近い気がしますね。
(シンセサイザーが手元にないので間違ってたら
すみません)