HN284
OCamlとEioで並行処理の未来を体験しよう
Taking OCaml and Eio for a Spin
mattjhall・3日前
Taking OCaml and Eio for a Spin
OCamlの新しい並行処理ライブラリであるEioを実際に試してみたレポートです。軽量なFiberを用いた効率的なコードの書き方や、従来の非同期処理との違いについて掘り下げます。
コンパイラにはもっとイライラさせられるよ。エラーが発生するとファイルの残りの部分を解析するのをすぐ諦めてしまうからね。そのせいでコードを書く→エラーが出る→修正する→ビルドし直すっていう反復作業がかなり遅くなるんだ。特に特定のモジュールに集中している時なんかは、エラーを一括で修正するチャンスなんてほとんどないよ。
実際の開発現場で、エラーからの復旧がちゃんと機能する言語なんてあるのか?俺が本気で使ってきたコンパイラで、どれだけ頑張ってもエラーのリカバリが信頼できるものなんて一つもなかった。だからコマンドラインで作業する時は、いつも最初のエラーまでスクロールして、それ以降は無視するようにしてる。コンパイラが最初のエラー以外を表示するために費やす処理は、俺の観点からすれば全部無駄。それどころか時間を浪費させられるから、実質マイナスでしかない。繰り返すけど、理想の話じゃなくて俺が実際に使ってきたコンパイラの実装の話な。(IDEはマシな場合がある。IntelliJはたまに本当に優秀だよ。いつもじゃないけどね)
著者はRustに触れているけど、Rustコンパイラってエラーからのリカバリ方法を的確に予測する能力が本当にそんなに高いのか?例えば、複雑な型エラーに直面した場合でもね。