2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

イベント的、話!

改めて説明するまでもないことを小生はあえてここで記載していることは、おこがましいでしょうか?(笑)!しかし、最近のソフトウェア技術者に、”イベントって?”と聞くと、何やら説明できない方々がいる。特に、プログラミングをしている方々で知らない方はかなり情けないので俺なりにここに説明をしたいと思う。


さて、始めることにするが、まずプログラムと言うのは単純に分割すると、初期化ルーチンがあり、実行ルーチンがある。プルグラムの実行過程を考えると、上から下まで順序よく実行される。しかし、このようなプログラムだと処理したい仕事が限られてしまう。最も顕著なのは、装置制御系(組込系でも考えることができる)のプログラムである。
制御系のプログラム例えば、ポータブルCDプレーヤを例にとって考えてみる(なんでも良いのだが)。ポータブルCDプレーヤが再生中に早送りのボタンが押された場合、プレーヤは指定の動作を行わなければならない。ソフト的には、再生処理中に早送り処理が無理矢理、割り込んでくるわけである。”ほら、俺の処理を実行せーよ!”と。。。そこで、ここでの早送り処理を”割込処理”と言う。早い話、早送り割込処理である。この処理を頭に入れて、本題に入る。


● イベントとは何ぞや?

簡単である、前述した言葉”割込”がイベントである。
ポータブルCDプレーヤの場合は、再生ボタンも早送りボタンも割込である。

動作的には電源が入った状態で、初期化以降、メイン実行ルーチンが割込を監視して待機している。まず、再生ボタンが押されると、再生処理のサブプログラムが実行される。このサブプログラムを”イベントハンドラ”もしくは”ハンドラ”と言う。再生処理に移り、メカ部分に再生命令を発行したら、プログラムは元のメイン実行ルーチンに戻る。そして再び割込を監視する。そして、今度は早送り割込が発生したら、早送りサブプログラムが実行され、メカ部分に早送り命令を発行した後、再びメイン実行ルーチンに戻る。

このように、メインルーチンを通常実行して、条件分岐や入出力、例外処理などをイベント化する事によって動作させるプログラミング技法を”イベント駆動型”または”イベントドリブン”と呼ぶ。

最近では、Webアプリケーション時代を迎えて、スクリプト言語が流行である。スクリプト言語の殆どがイベントドリブンから解放されている。そのせいか、イベントドリブンなぞ知らない方々が多いのであろう。しかし、何れにしてもイベントドリブンプログラミングはソフト技術者にとって大変重要であることは言うまでもない事だと思う。

以上

コメント