; アプリケーションコード
実装.
コールバックの形式はプログラミング言語によって異なる。
特殊な例.
コールバック関数は、例外処理を実現する手段としてもよく使われ、状況によって副作用を伴う処理を可能としたり、何らかの処理途中の情報を収集するのに使われたりする。割り込みハンドラは、オペレーティングシステム (OS) でハードウェアの何らかの状況に対応するのに使われる。また、シグナルハンドラはアプリケーションが OS に登録し、OS が呼び出す。イベントハンドラは、プログラムが受信した非同期的な入力を処理する。
問題点.
コールバック方式は、サブルーチン（関数）を直接呼び出すのではなく、別のサブルーチンの中で間接的に呼び出すため、プログラムの構造が複雑・不明瞭になりがちである。特に入門者にとっては、直接的・具体的なプログラムよりも間接的・抽象的なプログラムは理解が難しい。また、コールバック関数を呼び出すフレームワーク側のソースコードが公開されていない場合は、デバッガーでステップインすることができないので、デバッグが困難になることもある（コールバック関数内にブレークポイントを置くことはできるが、コールバック関数を実際に呼び出す部分はブラックボックスのため、実行時の追跡がいったん分断されることになる）。
コールバック関数が満たすべき要件に正しく適合しない関数を渡すこともできてしまうため、問題が発生しやすくなることもある。例えばコールバック関数の呼び出し元が例外の発生を想定していないのにコールバック関数の中で例外をスローしてアプリケーションをクラッシュさせてしまったり、できる限り速やかに応答を返さなければならないコールバック関数の中で長時間かかる処理を実行してアプリケーションをハングアップさせてしまったり、といった問題が容易に発生しうるが、コールバックによる間接的な呼び出し構造となっている場合は、問題の原因がどこにあるのかということに気づきにくくなる。このような問題を回避するために、コールバック関数が満たすべき要件について文書化が必要となる。
渋谷誠司
経歴.
解説.
ジャケット写真は鎧を着てサングラスをかけた怪物というSF的なもの。
エピソード.
収録曲.
金来元
...ing
吹田千里郵便局