この感動をどこかに残しておきたくて。
自分の中にこれまで経験の中で理解を伴って蓄積されてきたイベントドリブンなプログラミングの系譜。
2000年頃、組み込み系ではシステムコールのコールバックとか。割り込みハンドラとか呼ばれてた奴ね。ソフトウェア都合のイベント発生させたい場合にもシステムコール使ってた記憶が薄っすらとあるようなないような気がしますが、イベントが発生してほしかったらイベント発生するトリガからコーディングしなきゃいけないのが常識でした。
オープン系では「メッセージループ」なんての使ってたね。イベントループとも呼んでたか。ソフトウェアの外側に一番おっきなループを組んで、自分で監視しながら適当なところで制御を戻したりスレッド立てたり。
2003年頃、RTOSでuITRONの開発に関わってたときには、あまりプロセスが制御掴みすぎないように200ms秒以内に関数戻せとか色々あった記憶がありますが、いずれにせよかなり低レベルで原始的な(それが組み込み系では大切なんだけどね)設計でした。
その後関わってたウェブアプリも、ASPとかIASだとか、基本業務系で入力フォームが出てきたりページが表示するのを黙って待ちましょうみたいなサービスがメインだったから、そこでは非同期プログラミングってあまり意識しないで作ってたかもしれない。
それから随分と時間が経って。浦島太郎にならないようにと昨年あたりから40の手習いで再開したウェブプラグラミング 。RxJSの仕組みとか学んで驚愕してます。すげえ。なんだこの理路整然と導いてもらってる感。これなら俺みたいなドシロートでも穴だらけの低脳エンジニアでも、そこそこの非同期処理書けるわ。
賢い人達が仕組みやメソッドを整備すると、ボンクラでも質の高い仕事ができる。ありがとう賢い人達。